Donc, je configure mon serveur en utilisant this tutorial, et quand le fichier test.php fonctionne sans problème lorsque je saisis l'adresse en utilisant l'adresse IP de mon serveur
http://1.2.3.4/test.php
Cependant, si j'utilise virtualhosts, le navigateur propose simplement de télécharger le fichier plutôt que de l'exécuter. Donc ça:
http://blog.mydomain.com/test.php
propose de télécharger le fichier plutôt que d’exécuter le script.
Le code que j'utilise dans /etc/Apache2/Apache2.conf pour les hôtes virtuels est le suivant:
Include /etc/phpmyadmin/Apache.conf
Include /etc/Apache2/mods-available/php5.conf
<VirtualHost *:80>
DocumentRoot /path/to/vhosts/folder1
ServerName www.mydomain.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /path/to/vhosts/folder2
ServerName blog.mydomain.com
</VirtualHost>
NameVirtualHost *:80
Bien que je dois dire que lorsque je redémarre le serveur Apache2, je reçois un message d'avertissement:
[....] Restarting web server: Apache2
[Sun Jan 19 13:33:40 2014] [warn] NameVirtualHost *:80 has no VirtualHosts ... waiting [Sun Jan 19 13:33:41 2014] [warn] NameVirtualHost *:80 has no VirtualHosts
J'ai trouvé la solution ici . Il s'avère que j'ai dû activer certains modules ...
Extrait de cette réponse de débordement de pile par ser1075581 :
Cela m'a enfin mis sur le bon chemin:
Voici la solution:
Dans la section
<Directory>
, j'ai inclus ces lignes:<IfModule sapi_Apache2.c> php_admin_flag engine on </IfModule> <IfModule mod_php5.c> php_admin_flag engine on </IfModule>
Ou bien, un copier/coller de la solution sur mon serveur:
<Directory "/var/www/vhosts/A2/httpdocs"> <IfModule sapi_Apache2.c> php_admin_flag engine on </IfModule> <IfModule mod_php5.c> php_admin_flag engine on </IfModule> (Other configuration parameters) </Directory>
Je l'ai fait fonctionner avec la ligne:
Sudo apt-get install libapache2-mod-php7.0
Sudo service Apache2 restart
Parfois, des choses encore pires peuvent arriver .... J'ai juste oublié d'installer php
les problèmes de permission peuvent aussi conduire à avoir ce comportement étrange
chmod -R u=rwX,go=rX my_publishing_directory
se débarrasser des problèmes d'autorisation (644 sur les fichiers et 755 sur les répertoires)
Je cherche cela depuis longtemps et je viens de trouver une solution qui fonctionne dans mon cas. J'avais mis mon fichier (processorder.php5
) dans le répertoire /var/www
dans une installation standard d'ubuntu. Je pensais que c'était l'endroit où php avait l'air. Mais pour le HTML (ou les fichiers php qui sont probablement considérés comme la même chose), il cherchait /var/www/html
, c’est-à-dire le sous-répertoire html
de /var/www
.
Lorsque j'ai déplacé mon fichier dans un répertoire, cela a fonctionné. Je me méfie parce que je ne pense pas avoir vu cela documenté nulle part