web-dev-qa-db-fra.com

Pourquoi php ne fonctionne pas?

J'ai vu cette question répondre à plusieurs reprises, mais la plupart finissent soit sans réponse, soit en disant au demandeur de dire ceci:

<?php phpinfo() ?>

dans un fichier de test. Évidemment, si cela produisait ce à quoi on s'attendait, je ne serais pas là. Au lieu de cela, je reçois une erreur 404.

J'utilise un serveur Ubuntu 12.04 avec Amazon. Apache est installé, php5 est installé et Apache a été redémarré. J'ai suivi la séquence suivante:

Sudo apt-get install Apache2

Sudo apt-get install php5

Sudo apt-get install libapache2-mod-php5

Sudo /etc/init.d/Apache2 restart

Chacune des trois premières commandes me donne maintenant "Apache2 est déjà la version la plus récente . 0 mise à niveau, 0 récemment installée, 0 à supprimer et 3 non mise à niveau" Évidemment, remplacez Apache2 par php5 et libapache2-mod-php5 deux autres.

C'est un moyen sûr de me dire qu'il est installé, n'est-ce pas? Eh bien, lorsque j'utilise la commande "top", php n'est pas l'un des services en cours d'exécution, ce qui m'indique qu'il ne fonctionne pas, n'est-ce pas?

Naviguer vers l'adresse IP me donne le "ça marche!" D'Amazon page, mais la navigation sur une autre page du serveur génère une erreur 404.

Toute aide est très appréciée.

9
Christian

Découvrez les fichiers de configuration Apache. Pour Debian/Ubuntu, ils sont dans /etc/Apache2/sites-available/ pour RedHat/CentOS/etc dans /etc/httpd/conf.d/. Si vous venez de l’installer, le fichier qu’il contient est probablement nommé default.

Assurez-vous que le fichier de configuration qu’il contient pointe vers le bon dossier, puis assurez-vous que vos scripts y sont situés.

La ligne que vous recherchez dans ces fichiers est DocumentRoot /path/to/directory.

Pour une installation vierge, vos fichiers php doivent probablement être en /var/www/.

Ce que vous devez également faire est de trouver votre fichier php.ini, probablement situé à /etc/php5/Apache2/php.ini ou /etc/php.ini, de rechercher l’entrée pour display_errors et de la remplacer par On.

11
castis

Un gros problème est que PHP est désactivé par défaut dans les répertoires personnels des utilisateurs. Par conséquent, si vous testez à partir de ~/public_html, cela ne fonctionne pas . Vérifiez /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>

Autre que l'installation dans Ubuntu, c'est très simple, car tout ce que vous aviez l'habitude de mettre dans httpd.conf est fait automatiquement.

6
MagicLAMP

Tapez navigateur localhost: 80 // test5.php [où 80 est votre port et test.php est votre nom de fichier] au lieu de c: //xampp/htdocs/test.php.

0
Dipankar Biswas