0

Linux ベースのホスティング プロバイダーで Zend フレームワークを使用して PHP アプリケーションを開発してきましたが、順調に進んでいます。

Mac でローカルに開発できるようになったので、PHP を実行するように Apache を構成し、ソース コードを取得して、/Library/WebServer/Documents を Zend Web アプリの public/ フォルダーにシンボリック リンクしました。

それは大丈夫でした。コントローラーは正しいスクリプトを実行およびロードしており、正しく解析およびレンダリングされているように見えました。ただし、ローカルの MySQL データベースに接続できませんでした。/etc/php.ini.default を /etc/php.ini にコピーしていないことに気付きました。次に、次の行を更新しました: pdo_mysql.default_socket=/tmp/mysql.sock および Apache を再起動しました。ここで、突然、PHP がまったく実行されなくなりました。代わりに、生の PHP がブラウザーに送り返されます。

効果は、.php ファイル拡張子を認識しない Apache インスタンスを使用して .php ファイルを直接ロードしようとした場合とほぼ同じです。私が経験したことに基づいて、おそらくphp.iniのどこかにこれを引き起こす設定があると推測しています(php.iniの名前を変更してApacheを再起動すると、スクリプトは再び正しく解析およびレンダリングされますが、繰り返しますが、データベースにアクセスできません)が、どこを見ればよいかわかりません。誰か考えがありますか?

4

1 に答える 1

0

誰かがこれを読んでいる場合、私が最終的に発見した答えは次のとおりです。

short_open_tag = オン

上記は php.ini で設定する必要があります。特に、Zend アプリケーションで一般的なように、すべてのコントローラー、モデル、ヘルパーなどが短いタグ (例: ) を使用していたためです。

于 2012-10-10T00:00:49.470 に答える