2012-02-13 6 views
0

上の500内部サーバーエラーが発生しました(それはhttp://code.google.com/p/simple-linkedinphp/で見つかった)PHPスクリプトは、ローカルホスト上で動作しますが、私は単純linkedinphpライブラリを実装しようとしているサーバー

これは、ローカルホスト上の細かい動作しますが、私はそれをアップロードするとき私は500の内部サーバーエラーを取得します。

[12-Feb-2012 20:35:09] PHP Parse error: syntax error, unexpected T_STRING in /home1/bangaban/public_html/LIAPIwrappertest/linkedin_3.1.1.class.php on line 1

ライン1がちょうど開口部<?phpタグ、その後、いくつかのコメントであるため、この問題が解決しない:ここでは、エラー・ログが言っていることです。

ライブラリには、PHP 5+とサーバー上のcURL拡張子が必要で、phpinfo()にはインストールする必要があります。スクリプトに構文エラーがあるとは思わない。なぜなら、localhost上で正常に動作し、多くの人が使っていたライブラリだからです。

私はグーグルで、書き込みアクセスによって発生した約500のエラーについて話すリソースを見つけました。 this questionはこれについて少しは話していますが、それは別のエラーメッセージですので、このケースにどのように適用されるかわかりません。

php.iniファイルのサーバー側に何かがあるようですね。または.htaccessファイルですか?ライブラリやPHPスクリプトでこの問題が起きたことは一度もありません。一度localhostで作業してしまえば、これは本当に奇妙です。/UPDATE

EDIT:

私は644から755へのファイルのパーミッションを変更しましたが、それは何もしませんでした。

demo.phpをlinkedin_3.1.1.class.phpの代わりに読み込むように変更しました。うまくいきましたので、間違いなくいくつかのファイルを解析しています。それから、同じライブラリの以前のバージョンを試してみることにしました。バージョン3.1.0はエラーなしで解析および実行されます。解析エラーはバージョン3.1.1とは異なりますが、バージョン3.2.0は解析されません。ダウンロード数がv3.2.0では752であるので、それは奇妙です。何百人もの他の人々のために働いていたら、どうすればそれがうまくいかないでしょうか?

とにかく、私は今v3.1.0で作業し、誰でもv3.0.0以降のすべてのバージョンで構文解析エラーが発生する理由の謎を解消できるかどうかを確認します。ホスティングプロバイダとプロジェクトページに問題が記録されました。

+0

コマンドラインでそのサーバーでスクリプトを実行しようとしましたか?場合によっては、PHPのエラーメッセージ/行番号があなたに嘘をつきます。 –

+0

最悪の問題があります:P構文エラー(セミコロンがないなど)から、想定されていないときに短いタグを使用するまで何かがあります。これはローカルで動作するため、ある種の構文エラーはほとんどありません。あなたのローカルホストとサーバー上であなたのPHPの設定が同じであることを確認してください。私の場合は、それを有効にせずに短いタグを使用していました。 –

+0

@MarcB私は共有ホスティングプロバイダを使用していますので、PHP経由でコマンドラインにアクセスする方法はないと思います。 – edpeciulis

答えて

2

HTTPエラーあなたは次の場所にあるログファイルの助けを取る必要があり、この問題を解決するためのPHPページやソリューション一般

500内部サーバー、:

=> /var/log/message 
=> /var/log/httpd/error_logs (/var/log/lighttpd/error_log or /var/log/httpd/error_log) 

のため、このエラーはのみ発生ウェブサーバーソフトウェア。しかし、ログを見た後に多くの詳細が見つからないことがあります。

  1. 不正な形式のPHPのCGIスクリプト
  2. 制限は、ファイルシステムとサーバ・ソフトウェアによって課さた.htaccessや他の設定ファイルに無効なディレクティブ(例えばPHPのログファイルのサイズ:この問題は、によって引き起こされる可能性が 4.Missingのphp.iniの)10Mバイトに設定(または無効な.htaccessのディレクティブで)ほとんどの場合

php.iniファイルを読み取ることができません。しかし、最近私は/ etc/php.iniファイルなしのWebサーバーを訪れました。長い間前にこのサーバーをセットアップしました)Apache chrootされた刑務所)。ですから、二つのファイル刑務所外の1と刑務所内の別のものを維持する必要があります。

=> /etc/php.ini 
=> /chroot/etc/php.ini <-- this file was missing 

多くのスクリプトは、正しい設定ディレクティブを得るために、その場でこのファイルを開きます。このファイルが見つからない場合は、エラー500が発生します。この問題を理解するまでには時間がかかりました。最後にstraceはこの問題をデバッグするために私を助けました。

+0

私は別のライブラリに切り替わりましたが、これは便利なトラブルシューティングのヒントです。また、ログファイルを見るときに、grep -vを使用して不要なものを除外し、一致する文字列を含む行だけをgrepすると便利です。 – edpeciulis

関連する問題