En parcourant un tutoriel Zend , je suis tombé sur la déclaration suivante:
Notez que les paramètres php_flag dans .htaccess ne fonctionnent que si vous utilisez mod_php.
Quelqu'un peut-il expliquer ce que cela signifie?
En parcourant un tutoriel Zend , je suis tombé sur la déclaration suivante:
Notez que les paramètres php_flag dans .htaccess ne fonctionnent que si vous utilisez mod_php.
Quelqu'un peut-il expliquer ce que cela signifie?
mod_php
signifie que PHP, comme un module Apache.
En gros, lors du chargement d' mod_php
comme module Apache, il permet à Apache pour interpréter les fichiers PHP (ceux-ci sont interprétés par mod_php
).
EDIT : Il y a (au moins) deux façons de PHP avec Apache :
mod_php
) : le PHP est alors une sorte de "intégré" à l'intérieur du processus Apache : il n'y a aucun processus PHP -- ce qui signifie que Apache et PHP peuvent communiquer mieux.
Et re-edit, après le commentaire : l'utilisation de scripts CGI ou mod_php
est de vous : c'est seulement une question de configuration de votre serveur web.
Pour savoir ce qui est actuellement utilisé sur votre serveur, vous pouvez vérifier la sortie de l' phpinfo()
: il devrait y avoir quelque chose indiquant si PHP est en cours d'exécution via mod_php
(ou mod_php5
), ou par l'intermédiaire de CGI.
Vous pouvez également prendre un coup d'oeil à l' php_sapi_name()
fonction : renvoie le type de l'interface entre le serveur web et PHP.
Si vous vérifiez dans vos fichiers de configuration d'Apache, lors de l'utilisation d' mod_php
, il devrait y avoir un LoadModule
ligne ressemblant à ceci :
LoadModule php5_module modules/libphp5.so
(Le nom de fichier, sur la droite, peut être différent-sur Windows, par exemple, il devrait être un .dll
)
Cette réponse est la prise de TuxRadar:
Lors de l'exécution de PHP par le biais de votre serveur web, il y a deux options distinctes: cours d'exécution à l'aide de PHP, CGI, SAPI, ou comme un module pour le serveur web. Chacun ont leurs propres avantages, mais, dans l'ensemble, le module est généralement préféré.
L'exécution de PHP comme CGI signifie que, fondamentalement, vous dites à votre serveur web à l'emplacement de l'exécutable PHP fichier, le serveur exécute le fichier exécutable, en lui donnant le script que vous avez appelé, à chaque fois que vous visitez une page. Cela signifie que chaque fois que vous chargez une page PHP a besoin de lire php.ini et définir ses paramètres, il doit charger toutes ses extensions, et puis elle a besoin pour commencer à travailler de l'analyse du script il y a beaucoup de travail répété.
Lorsque vous exécutez PHP en tant que module, PHP, littéralement, se trouve à l'intérieur de votre serveur web, il commence seulement une fois, les charges de ses paramètres et les extensions qu'une seule fois, et peut également stocker des informations à travers des sessions. Par exemple, PHP accélérateurs de compter sur PHP le fait de pouvoir sauvegarder les données mises en cache à travers les demandes, ce qui est impossible à l'aide de la version CGI.
L'avantage évident de l'utilisation de PHP en tant que module est la vitesse d'accès, vous verrez un gros boost de vitesse si vous convertissez de CGI à un module. Beaucoup de gens, en particulier les utilisateurs de Windows, ne se rendent pas compte de cela, et portent sur l'utilisation de l'php.exe SAPI CGI, qui est une honte - le module est généralement de trois à cinq fois plus rapide.
Il est l'un des principaux avantages de l'utilisation de la version CGI, si, et c'est que PHP lit ses paramètres à chaque fois que vous chargez une page. Avec PHP fonctionnant comme un module, tous les changements que vous faites dans le php.fichier ini ne pas un coup de pied jusqu'à ce que vous redémarrez votre serveur web, ce qui rend la version CGI préférable si vous êtes tester un grand nombre de nouveaux paramètres et vous voulez voir des réponses instantanées.
Votre serveur doit avoir les modules php installés pour pouvoir analyser le code php.
Si vous êtes sur Ubuntu, vous pouvez le faire facilement avec
sudo apt-get install apache2
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5
sudo /etc/init.d/apache2 restart
Sinon, vous pouvez compiler Apache avec php: http://dan.drydog.com/apache2php.html
Spécifier votre système d'exploitation serveur aidera les autres à répondre plus précisément.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.