git pullエラーlibcurl.so.3が見つかりません

git pullエラーlibcurl.so.3が見つかりません

githubリポジトリのPHPスクリプトがあり、git pullWebサービスフックURLに次のように設定されています。

<?php
  echo shell_exec('~/git/usr/bin/git pull 2>&1');
?> 

ブラウザでこのスクリプトを開くと、次のエラーが発生します。

git-remote-https: error while loading shared libraries: libcurl.so.3: cannot open shared object file: No such file or directory

私はCentOSバージョン5.9を実行しているgodaddyサーバーにあり、次のものをuname -mrs生成します。

Linux 2.6.18-348.3.1.el5PAE i686

私がこれをしようとしたとき:

yum install curl

yumコマンドが見つからないというエラーメッセージが表示されます。

git pullサーバーにsshでアクセスして端末で操作を実行したり、同様のスクリプトを実行したりすると正常に機能し、php myscript.phpすべての変更が適用されるため、ここで何が起こっているのかわかりません。ブラウザで実行すると、依存関係はどのように変更されますか?

どんな助けでも大変感謝します。

ベストアンサー1

まず、これはUbuntu関連の問題ではありません。ここではどのトピックを質問できますか?– 共有ホスティングのCentOSで実行されるPHPスクリプトについて質問しています。誰でもUnixとLinuxスタックオーバーフローサーバー障害または他のスタック交換サイトこの質問に答えるのに適しています。

それにもかかわらず、GitHubからインポートするには別のURLを使用しているようです。 HTTPSアクセスがgit-remote-https必要です。curlSSHまたはGit(読み取り専用)プロトコルを使用してください。つまり[email protected]:user/repository.gitgit://github.com/user/repository.gitリモートURLを変更するか、リポジトリを再複製してみてください。また、Gitが正しいディレクトリで実行されていることを確認してください(例:add cd /my/repo;toshell_execコマンド)。また、自動プーリング用のリモートブランチを指定するのが最善ですgit pull origin master

GoDaddyは特定のライブラリへのPHPスクリプトのアクセスを制限することができ、これはPHPコンテキスト内で実行されるシェルスクリプトにも影響します。他のすべての方法が失敗した場合は、リモートストレージをポーリングすることを検討できます。つまり、git pullCronを使用して定期的にポーリングします。

おすすめ記事