Comment déterminer quel PHP est utilisé?
Par exemple, s'il y en a /usr/local/bin/php
et usr/local/bin/php5
, comment puis-je savoir lequel est utilisé par mes scripts PHP?
Si vous utilisez la CLI PHP, essayez d'utiliser ces commandes shell (je suppose que vous utilisez linux ici)
which php - will locate the php executable (this should be the default php used by you)
whereis php - The first path displayed will be the location of the php executable
echo $PATH - will print a list of paths separated by ":" where the system looks for commands
Si vous utilisez PHP comme module Apache, alors phpinfo () vous indiquera la version php utilisée et les fichiers de configuration php, PAS le chemin php . Si vous avez 2 versions de l'exécutable php, cela vous aidera. S'ils sont de la même version, peu importe qui est qui :)
Si vous voulez connaître la version php, alors php -v affichera la version php dans la CLI et tous les modules Zend installés.
Si vous voulez découvrir les fichiers ini inclus, alors php --ini affichera la liste des fichiers ini chargés par le module php (ceci s'applique à la version CLI).
which
commande était ce dont j'avais besoin.which
; utiliser à lacommand -v
place. Voir également Vérifier si un programme existe à partir d'un script Bash .Ajoutez simplement un script simple
la source
php
depuis la connexion d'un utilisateur; et pas nécessairement le php utilisé par Apache?En supposant que vous utilisez via le serveur Web:
vous pouvez placer la fonction suivante dans un script:
Si cela ne fonctionne pas, cela pourrait être dû au fait que cette fonction est désactivée dans le php.ini. Cela est souvent fait pour des raisons de sécurité. Si c'est le cas, vous aurez une ligne dans votre php.ini comme:
Si tel est le cas, remplacez-le temporairement par
Si vous utilisez php pour les scripts shell:
Il devrait y avoir la «ligne shebang» en haut, quelque chose comme
#! / usr / local / bin / php -q
Êtes-vous sûr que l'un n'est pas un lien smybolic avec l'autre? faire
ls -l / usr / local / bin / php
Non ;-)
la source
Également à partir de la ligne de commande:
la source
php
depuis la connexion d'un utilisateur; et pas nécessairement le php utilisé par Apache?la source
Si vous parlez de vos scripts Web qui sont appelés par votre serveur Web Apache et que PHP est configuré en tant que module Apache, la réponse est AUCUN.
Les emplacements que vous mentionnez dans votre question sont des interprètes de script de ligne de commande qui seraient appelés par la notation shebang comme
en haut de votre script de ligne de commande php
vous pouvez appeler les interprètes que vous avez mentionnés séparément, car ils ont des noms différents
appellerait / usr / local / bin / php et
appellerait / usr / local / bin / php5
Aucun de ceux-ci n'est utilisé si vous utilisez PHP via le module Apache. Si vous utilisez la version CGI de php, elle devrait apparaître dans phpinfo (); production.
la source
la source
Cela fonctionne même si vous n'avez pas accès au shell. ;-)
la source