web-dev-qa-db-fra.com

PHP script ne s'exécutant pas sur le serveur Apache

Je viens de réinstaller Apache et PHP5, mais lorsque je visite ma racine de documentation, il télécharge simplement un fichier "de téléchargement". Et lorsque j'essaie documentroot/index.php, il ne fait que télécharger le fichier PHP.

J'ai installé PHP mais Apache ne semble pas vouloir l'exécuter.
Les gens ont suggéré d'ajouter une ligne 'Load Module' à mon httpd.conf mais je n'ai pas ce fichier.

54
user2919631

Dactylographie:

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

installera tout ce dont vous avez besoin et démarrera le serveur Apache avec le support de PHP.

Pour vérifier que le module php est chargé, tapez:

a2query -m php5

si non activé, chargez avec:

Sudo a2enmod php5

et redémarrez Apache:

Sudo service Apache2 restart

Mise à jour pour php7.0, testé sur Ubuntu 16.04 et 16.1

Grâce aux commentaires, je mets à jour la réponse pour php7.

Installer:

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

Vérifier:

a2query -m php7.0

Charge:

Sudo a2enmod php7.0

Redémarrez Apache:

Sudo service Apache2 restart
99
girardengo

Une autre cause fréquente est que les balises courtes php <? ne sont pas activées par la configuration par défaut de php.ini. Ainsi, après une mise à niveau ou une réinstallation, ce paramètre peut être désactivé et le code php peut en dépendre. Essayez de remplacer <? par <?php.

( Crédit )

18
tufelkinder

buntu 16.04 a été déplacé vers PHP 7. Cette commande unique fera le travail pour vous:

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

Ici libapache2-mod-php est un méta-paquet qui installe libapache2-mod-php7.

12
daltonfury42

Ouvrez php.ini avec nano dans le terminal:

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

Puis changez:

short_open_tag = Off

à

short_open_tag = On

Puis enregistrez et redémarrez Apache2:

Sudo systemctl restart Apache2
2
Satrio Prasojo

Installation LAMP

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 

ouvrir le navigateur sur localhost ou 127.0.0.1


créer un utilisateur dans 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';

change le répertoire racine d'un serveur Apache

  1. Créer des dossiers (/home/var/www)

    /home     ---> create NewFolder var
    /home/var ---> create NewFolder www
    
  2. Run terminal

    whoami
    

    et copier le nom d'utilisateur

  3. Exécuter un nouveau terminal

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

    et changer

    <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>
    

    Puis exécuter

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

    Et changer

    DocumentRoot /var/www/html
    

    à

    DocumentRoot /home/username/www/var
    

    Ensuite

    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
    

Ouvrez le navigateur sur localhost ou 127.0.0.1

Remarque importante: Pour exécuter le code PHP, l'extension de fichier doit être ‍‍‍‍‍ .php.

par exemple: localhost/index.php

0
Developer10