web-dev-qa-db-ja.com

PHPが実行されないのはなぜですか?

私はこの質問が何度も答えられるのを見てきましたが、ほとんどは答えられないか、質問者にこれを言うように言って終わります:

<?php phpinfo() ?>

テストファイル内。明らかに、それが期待されたものを生み出した場合、私はここにいません。代わりに、404エラーが表示されます。

Amazonでubuntu 12.04サーバーを使用しています。 Apacheがインストールされ、php5がインストールされ、Apacheが再起動されました。私は次のシーケンスに従いました。

Sudo apt-get install Apache2

Sudo apt-get install php5

Sudo apt-get install libapache2-mod-php5

Sudo /etc/init.d/Apache2 restart

最初の3つのコマンドのそれぞれは、「Apache2はすでに最新バージョンです。0がアップグレードされ、0が新しくインストールされ、0が削除され、3がアップグレードされません」を示します。

これはインストールされていることを確認する確実な方法です、正しいですか?さて、コマンド "top"を使用すると、phpは実行されているサービスの1つではありません。これは実行されていないことを示しています。

IPアドレスに移動すると、Amazonの「It Works!」が得られます。ページ、ただしサーバー上の他のページに移動すると404エラーが生成されます。

どんな助けも大歓迎です。

10
Christian

Apache構成ファイルを確認してください。 Debian/Ubuntuの場合は/etc/Apache2/sites-available/にあり、RedHat/CentOS/etcの場合は/etc/httpd/conf.d/にあります。インストールしたばかりの場合、その中のファイルはおそらくdefaultという名前です。

そこにある設定ファイルが正しいフォルダーを指していることを確認してから、スクリプトがそこにあることを確認してください。

これらのファイルで探している行はDocumentRoot /path/to/directoryです。

空のインストールの場合、おそらくphpファイルは/var/www/にある必要があります。

また、必要なことは、おそらく/etc/php5/Apache2/php.iniまたは/etc/php.iniにあるphp.iniファイルを見つけて、display_errorsのエントリを見つけ、Onに切り替えることです。 。

12
castis

大きな落とし穴の1つは、PHPはデフォルトでユーザーのホームディレクトリで無効になっているため、〜/ public_htmlからテストしている場合は機能しません。/etc/Apache2/mods-enabled/php5を確認してください。 .conf

# Running PHP scripts in user directories is disabled by default
# 
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

それ以外は、Ubuntuでのインストールは非常に簡単です。これは、httpd.confに入れる必要があったすべてのものが自動的に行われるためです。

6
MagicLAMP

元の質問に答えるには、「なぜphpが実行されていないのですか?」ブラウザーが要求しているファイルには.php拡張子が必要です。ファイルの拡張子が.htmlの場合、phpは実行されません。

1
Dan

ブラウザにlocalhost:80 // test5.phpと入力します(80はポート、test.phpはファイル名)。c://xampp/htdocs/test.phpではなく。

0
Dipankar Biswas