J'écris des applications PHP utilisant PHP depuis un moment dans WAMP. Maintenant, j'installe PHP et Apache Serveur HTTP séparément sur mon PC de travail. J'ai installé PHP 5 et le dernier Apache. Je vais sur localhost et je vois que ça marche!
Maintenant, j'ajoute un fichier nommé test.php
qui affiche:
<?php
phpinfo();
?>
Mais dans le navigateur, il n’affiche que du texte brut. Y a-t-il quelque part que je lui ai explicitement dit d'utiliser PHP 5?
Vous devrez ajouter ceci à la configuration de votre serveur:
AddType application/x-httpd-php .php
En supposant que vous ayez correctement installé PHP), ce qui peut ne pas être le cas, car cela ne fonctionne pas normalement normalement après l'installation.
Il est tout à fait possible que vous deviez également ajouter le fichier php
.so/.dll à votre configuration Apache à l'aide d'une directive LoadModule
(généralement dans httpd.conf
).
Vous devez installer la bibliothèque PHP 5 pour Apache.
Pour Debian et Ubuntu:
apt-get install libapache2-mod-php5
Et redémarrez Apache:
service Apache2 restart
Vous devez configurer Apache (le serveur Web) pour qu'il traite PHP en tant que PHP. Vérifiez la configuration d'Apache. Vous devez charger le module (le chemin peut être différent sur votre système):
LoadModule php5_module "c:/php/php5Apache.dll"
Et vous devez également indiquer à Apache comment traiter avec PHP:
AddType application/x-httpd-php .php
Encore une autre raison (pas pour ce cas, mais peut-être que ça va sauver quelques nerfs pour quelqu'un) est que PHP 5.5 balises ouvertes courtes <? phpinfo(); ?>
) sont désactivées par défaut.
Ainsi, l’interprète PHP traite le code entre des balises courtes sous forme de texte brut. Dans les versions précédentes PHP, cette fonctionnalité était activée par défaut. Le nouveau comportement peut donc être un un peu mystérieux.
Comme moi, vous avez peut-être également installé php-cgi avant Apache et, ce faisant, il ne configure pas correctement Apache pour exécuter PHP. Il a été impossible de supprimer PHP entièrement et de réinstaller semble-t-il). problème.
Vous devrez ajouter des gestionnaires dans Apache pour gérer le code php.
Éditer par la commande Sudo vi /etc/httpd/conf/httpd.conf
Ajouter ces deux gestionnaires
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
à la position spécifiée ci-dessous
<IfModule mime_module>
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
--Add Here--
</IfModule>
pour plus de détails sur les gestionnaires AddType
http://httpd.Apache.org/docs/2.2/mod/mod_mime.html
Utilisez-vous le mod userdir?
Dans ce cas, le problème est que PHP5 semble désactiver par défaut les scripts en cours d'exécution à partir de cet emplacement et que vous devez commenter les lignes suivantes:
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
dans /etc/Apache2/mods-enabled/php5.conf
(sur un système Ubuntu)