web-dev-qa-db-ja.com

PHPスクリプトはApacheサーバーで実行されていません

ApacheとPHP5を再インストールしたばかりですが、ドキュメントルートにアクセスすると、「ダウンロード」ファイルがダウンロードされます。そして、documentroot/index.phpを試してみると、PHPファイルをダウンロードするだけです。

PHPをインストールしていますが、Apacheは実行したくないようです。
「Load Module」行をhttpd.confに追加するように提案されましたが、そのファイルがありません。

54
user2919631

タイピング:

Sudo apt-get install Apache2 php5 libapache2-mod-php5

必要なものをすべてインストールし、PHPをサポートするApacheサーバーを起動します。

Phpモジュールがロードされていることを確認するには、次を入力します。

a2query -m php5

有効になっていない場合は、次を使用してロードします。

Sudo a2enmod php5

apacheを再起動します。

Sudo service Apache2 restart

php7.xの更新(Ubuntu 16.04、16.10、18.04、18.10でテスト済み

コメントのおかげで、php7.xの答えを更新します。

インストール:

Sudo apt-get install Apache2 php7.x libapache2-mod-php7.x 

確認:

a2query -m php7.x

負荷:

Sudo a2enmod php7.x

Apacheを再起動します。

Sudo service Apache2 restart
101
girardengo

別の一般的な原因は、phpの短いタグ<?がデフォルトのphp.ini構成で有効になっていないため、アップグレードまたは再インストール後、その設定がオフになり、PHPコードが依存する可能性があることです。 <?<?phpに置き換えてみてください。

クレジット

18
tufelkinder

buntu 16.04はPHP 7.に移動しました。この単一のコマンドはあなたのために仕事をします:

Sudo apt-get install Apache2 php libapache2-mod-php

ここでlibapache2-mod-phpはlibapache2-mod-php7をインストールするメタパッケージです。

13
daltonfury42

ターミナルでnanophp.iniを開きます。

Sudo nano /etc/php/php5.6/Apache2/php.ini

次に変更します:

short_open_tag = Off

short_open_tag = On

次に、Apache2を保存して再起動します。

Sudo systemctl restart Apache2
2
Satrio Prasojo

私は同じ問題に遭遇しましたが、私の特定の問題は独特でした。私はユーザーディレクトリで実行していました(mod_userdirを使用)- http://Host.name.com/~username/example.php でウェブページにアクセスすることを意味します

これは、mods対応ディレクトリのphp * .confでデフォルトで無効になっています。コメントアウトするために修正する必要がありました:

#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

それは理解するのが苦痛だった..

まあ、私は誰もこの特定の問題を抱えているとは思いませんが、それが私にとって恥ずかしくて、誰かが同じことをしているかもしれないので、それを追加すると思いました。私以外は誰も〜/ userを使用していません。

もちろん、この後Apacheを再起動する必要があります。

1
Jiminy Idiot

インストールランプ

Sudo su
apt-get install php
apt-get install Apache2
apt-get install mysql-server mysql-client
apt-get install phpmyadmin
apt-get install python
apt-get install python-mysqldb 

ln -s /etc/phpmyadmin/Apache.conf
ln -s /etc/Apache2/conf-available/phpmyadmin.conf

service Apache2 restart 

localhostまたは127.0.0.1でブラウザを開きます


phpmyadminでユーザーを作成

Sudo su
mysql -h localhost -u root
CREATE USER 'Write_Name'@'localhost' IDENTIFIED BY 'Write_Password';  
GRANT ALL PRIVILEGES ON *.* TO 'Write_name'@'localhost';

Apacheサーバーのルートディレクトリを変更する

  1. フォルダーの作成(/home/var/www

    /home     ---> create NewFolder var
    /home/var ---> create NewFolder www
    
  2. 実行端末

    whoami
    

    ユーザー名をコピーします

  3. 新しいターミナルを実行する

    Sudo su
    systemctl stop Apache2.service
    cd /etc/Apache2
    gedit Apache2.conf
    

    そして変化

    <Directory /var/www/>
      Options Indexes FollowSymLinks
      AllowOverride None
      Require all granted
    </Directory>
    

    /home/username/var/www/

    <Directory /home/username/var/www/>
      Options Indexes FollowSymLinks
      AllowOverride None
      Require all granted
    </Directory>
    

    次に実行する

    gedit save
    
    cd /etc/Apache2/sites-available
    gedit 000-default.conf
    

    そして変化

    DocumentRoot /var/www/html
    

    DocumentRoot /home/username/www/var
    

    それから

    gedit save
    
    copy file index.html ---> other Location ---> computer ---> var/www/html/index.html 
    paste file index.html ---> /home/var/www 
    
    systemctl restart Apache2.service
    

localhostまたは127.0.0.1でブラウザを開きます‍‍‍‍‍‍‍‍

重要な注意:PHPコードを実行するには、ファイル拡張子が‍‍‍‍‍ .phpでなければなりません。

例えば:localhost/index.php

0
Developer10