4

私には奇妙な問題があります。私が犯している恥ずべき明らかな間違いを理解するのを手伝ってくれるかどうか疑問に思っています。

組み込みのApacheサーバーを使用して、すべてMacでローカルに実行されている、ajaxを介して多数のphpスクリプトを実行するjavascriptアプリがあります。これは何年も前から機能していますが、私の新しい Lion Mac では、php スクリプトが、読み取るはずのファイルを返さなくなりました。それらはphpスクリプト自体を返します。

コマンドラインから実行すると、phpスクリプトは正常に機能します。コマンドラインから直接実行すると、正常に動作します。Snow Leopard コンピューターで Ajax から正常に動作します。Lion Mac で Ajax を実行すると機能しません。

私が試したこと:

  • PHP モジュールがロードされるように httpd.conf を調整し、Mac を再起動しました。

  • Apache は確実に実行されています: 127.0.0.1/~myname/ は「動作します」というメッセージを受け取ります。

  • jquery を使用し、昔ながらの手書きの方法を使用して ajax を実行しようとしました。同じ問題。(jqueryが実際にロードされていることを確認しました。)

  • ショートコード「<?」を使用していません。私のphpスクリプトで

  • php ファイルは、html および javascript ファイルと同じディレクトリにあります。アクセス許可は、すべて正常に動作する Snow Leopard コンピュータのアクセス許可と同じです。

私はこれを上下にグーグルで検索しようとしましたが、困惑しています。助言がありますか?ありがとう!

4

2 に答える 2

1

問題は、私の Lion マシンに php 5.3.1 がインストールされていたことにあるようです。php5.4にアップデートしたら、また動くようになりました。

php5.4 に更新するには、次の手順に従いました: http://php-osx.liip.ch/助けてくれてありがとう、Stackoverflow!

于 2012-08-22T17:29:25.397 に答える
0
  • php が有効になっており、適切に構成されていますか?
    を編集し、次/etc/apache2/httpd.confの行が存在することを確認してから、LoadModule php5_module libexec/apache2/libphp5.soApache を再起動します。sudo apachectl restart
  • 正しい/予期されたphp.iniものがロードされていますか?
    Lion アップグレードでは、php.iniファイルの名前が に変更され/etc/php.ini-5.2-previous、新しいサンプル PHP 構成ファイル/etc/php.ini.defaultが配置されます!!!
    したがって、おそらく php.ini ファイルを再構成することをお勧めします。
  • 以前にインストールされていた拡張機能/usr/lib/php/extensions/.../は削除されました。
    そのため、5.3 でも引き続き使用したい拡張機能がある場合は、それらを再構築する必要があります。
  • を含む phpinfo.php ファイルをロードできますか<?php phpinfo();?>
  • phpinfo を使用する場合は、mySQL ディレクティブ (およびその他のローカル) を確認してください。
  • Apple には、Suhosin パッチと拡張機能が含まれています。
    Suhosin は、バッファ オーバーフローおよびフォーマット文字列の脆弱性から PHP アプリケーションを保護することを目的としたHardened-PHP プロジェクトの一部です。Suhosin の機能リストをあなたの php スクリプトと比較してください。
  • 廃止された php ステートメントが使用されている可能性があります (古いバージョンの php で機能していました)。

今はうまくいきますか?

于 2012-08-17T18:38:06.747 に答える