php |
PHP: Hypertext Preprocessor |
---|---|
Linux | Externe |
Syntaxe
php [options] [-f] file [--] [args...] |
php [options] -r code [--] [args...] |
php [options] [-B begin_code] -R code [-E end_code] [--] [args...] |
php [options] [-B begin_code] -F file [-E end_code] [--] [args...] |
php [options] -- [args...] |
php [options] -a |
Paramètres
Nom | Description |
---|---|
args... | Ces paramètres sont passés au scripts PHP. Utiliser «-- args» quand le premier paramètre débute avec «-» ou que le script effectue une lecture de l'entrée standard (stdin). |
–a | Ce paramètre permet d'indiquer d'exécuter le PHP de façon interactive. |
-B begin_code | Ce paramètre permet d'exécuter le code PHP spécifié avant le traitement des lignes d'entrées. |
–c path|file | Ce paramètre permet d'indiquer le répertoire de recherche du fichier php.ini. |
-d foo[=bar] | Ce paramètre permet de définir l'entrée INI foo avec la valeur bar. |
-e | Ce paramètre permet d'indiquer qu'il faut générer les informations étendues pour le profileur et le débogueur. |
-E end_code | Ce paramètre permet d'exécuter le code PHP spécifié après le traitement de toutes les lignes d'entrées. |
-f file | Ce paramètre permet d'analyser et d'exécuter le fichier spécifié. |
-F file | Ce paramètre permet d'analyser et d'exécuter le fichier spécifié pour chaque ligne d'entrée. |
-h | Ce paramètre permet d'afficher l'aide sur cette commande et de terminer immédiatement après. |
-H | Ce paramètre permet de caché n'importe quel paramètre des outils externes. |
-i | Ce paramètre permet de fournit les informations sur PHP, un peu comme l'instruction «phpinfo();» du langage de programmation PHP. |
--ini | Ce paramètre permet d'afficher la configuration des noms de fichier. |
-l | Ce paramètre permet d'uniquement vérifier la syntaxe (lint). |
-m | Ce paramètre permet d'afficher les modules compilé du PHP. |
-n | Ce paramètre permet d'indiquer qu'il ne faut pas utilisé le fichier «php.ini». |
-r code | Ce paramètre permet d'exécuter le code PHP spécifié sans utiliser les balises script <?..?>. |
-R code | Ce paramètre permet d'exécuter le code PHP spécifié pour chaque ligne entrée. |
--rc name | Ce paramètre permet d'afficher l'information à propos de la classe spécifié. |
--re name | Ce paramètre permet d'afficher l'information à propos de l'extension spécifié. |
--rf name | Ce paramètre permet d'afficher l'information à propos de la fonction spécifié. |
--ri name | Ce paramètre permet d'afficher la configuration pour l'extension spécifié. |
-s | Ce paramètre permet d'indiquer qu'il faut colorer la source de sortie avec la syntaxe HTML. |
-v | Ce paramètre permet de retourner la version de PHP. |
-w | Ce paramètre permet d'indiquer qu'il faut enlever les commentaires et les espaces blanc de la sortie de la source. |
-z file | Ce paramètre permet de charger les extensions Zend spécifié. |
Description
Cette commande permet de lancer l'interpréteur de script de langage de programmation PHP pour le Web.
Remarques
- Le fichier de configuration «php.ini» qu'utilise le PHP varient énormément d'emplacement en fonction des systèmes :
- L'interpréteur PHP est utilisé en combinaison avec un serveur Web, lequel est le plus souvent Apache. Aussi, la commande utilisé pour gérer le serveur Apache est httpd.
- Habituellement, l'interpréteur est insérer dans un des fichiers de configuration suivant (variant selon la distribution et les applications installés) :
- On utilise généralement la base de données MySQL avec le PHP, laquelle est utilisable avec la commande «mysql» ou «mysqladmin».
- On préféra le langage de programmation Perl pour l'exécution de script local sans implication avec le Web (administration système) et le PHP pour le Web. De ce fait, il existe très peut d'exemple pratique PHP utilisé pour lancer des scripts systèmes sous un serveur Linux.
- Voir la commande «wget» pour télécharger un fichier du Web a installer pour exécuté comme un site Web par le PHP.
- Si vous recevez un message d'erreur «HTTP Error 500 Internal server», vous avez probablement un des problèmes suivantes :
- Vous n'avez pas changer le mode d'accès (voir la commande chmod).
- Vous n'avez pas le bon propriétaire associé avec votre fichier (voir la commande chown).
- Vous utilisez «suphp» dans un WHM mais vous n'avez pas d'utilisateur.
- Vous avec un fichier un fichier «.htaccess» interdisant l'exécution de fichiers PHP dans le répertoire.
- Une erreur dans le code source PHP ou une mal formation.
- Limitation imposé par le système de fichiers et le serveur Web (exemple : la taille du fichier de journal de bord excès une limite fixé à 10 MegaOctets).
- L'absence du fichier «php.ini».
- Dans le monde Linuxien, lorsqu'on parle de PHP, on utilise souvent l'acronyme LAMP pour désigner l'intégration de PHP dans la combinaison suivante : Linux - Apache - MySQL - (PHP, Perl ou Python).
- Si le PHP ne vous retourne aucun message et une page blanche, il peut s'agir de différentes raisons :
- Le disque est tout simplement plein.
- Il n'est pas possible d'écrire dans le fichier de journal de bord (le dossier n'existe pas par exemple).
- Vous n'avez pas les droits suffisant, par exemple s'il faut un utilisateur «root» pour écrire dans le fichier de journal de bord et que vous utilisez un utilisateur «apache».
- Le fichier de log est en mode lecture seulement.
- Lorsqu'on souhaite ajouter un module d'extension au PHP, on utilise généralement la commande PECL de la façon suivante :
Emplacement | Description |
---|---|
/etc/php.ini | Cet emplacement de fichier est généralement utilisé sous la distribution CentOS. |
/usr/local/lib/php/php.ini | Cet emplacement de fichier est généralement utilisé sous Unix. |
/usr/local/etc/php.ini | Cet emplacement de fichier est également très populaire. |
... | ... |
Emplacement | Description |
---|---|
/etc/apache2/apache2.conf | Cet emplacement de fichier indique généralement la version 2 de Apache. |
/etc/httpd/httpd.conf | Cet emplacement de fichier indique généralement une version ancienne de Apache. |
/etc/httpd/conf/httpd.conf | Cet emplacement de fichier indique généralement une version Apache sous CentOS. |
/usr/local/apache/conf/php.conf | Cet emplacement de fichier indique généralement une configuration spécifique au PHP avec une version Apache sous CentOS avec WHM. |
... | ... |
et on y retrouvera généralement la configuration suivante pour intégrer le PHP version 5 :
Action application/x-httpd-php5 /cgi-sys/php5 AddType application/x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml |
de plus Apache devra avoir les autorisations nécessaires pour exécuté les scripts PHP dans le dossier concernant avec un paramètre ressemblant à ceci dans un fichier «.htaccess» ou une configuration d'Apache :
<FilesMatch "\.(php|inc)$"> Order allow,deny allow from all </FilesMatch> |
Si aucune des situations précédemment décrite ne vous concernes, il faudra consulter le fichier du journal de bord des messages d'erreurs d'Apache ou de votre serveur Web, lequel est généralement situé dans «/var/log/httpd/error_logs», «/var/log/lighttpd/error_log» ou «/var/log/httpd/error_log».
pecl install nommodule |
Ainsi, par exemple, si vous souhaitez installer l'extension APC et que vous souhaitez qu'il prenne en compte le module (un redémarrage d'Apache est donc nécessaire) :
pecl install apc /etc/init.d/httpd restart |
Installation
Si la commande n'est pas installé, il est possible de l'installer de la façon suivante avec la distribution Debian :
sudo apt-get install php5-common libapache2-mod-php5 php5-cli |
Les commande suivante permet d'installer l'extension ZIP pour le PHP 7 sur une distribution RHEL et de redémarrer Apache :
sudo yum install php70-zip.x86_64 sudo service httpd restart |
On peut installer l'extension GD avec PHP 7.1 sur une distribution RHEL de la façon suivante :
sudo yum install php71-gd sudo service httpd restart |
Exemples
Pour trouver l'emplacement du fichier php.ini actuellement utilisé par le PHP, il faut tapez une commande comme ceci :
php -i | grep 'Configuration File' |
Pour trouver tous les emplacements de «php.ini», vous pouvez tapez la commande :
locate php.ini |
L'exemple suivant permet d'exécuter le script «index.php» du PHP en utilisant l'utilisateur Apache :
sudo -u apache /usr/bin/php -q -c /etc/php.ini -f/data/www/index.php |
L'exemple suivant permet d'afficher les emplacements de fichier .ini :
php --ini |
on obtiendra le résultat semblable suivant :
Configuration File (php.ini) Path: /etc Loaded Configuration File: /etc/php.ini Scan for additional .ini files in: /etc/php.d Additional .ini files parsed: /etc/php.d/apc.ini, /etc/php.d/bcmath.ini, /etc/php.d/dba.ini, /etc/php.d/dbase.ini, /etc/php.d/dom.ini, /etc/php.d/gd.ini, /etc/php.d/json.ini, /etc/php.d/mbstring.ini, /etc/php.d/mcrypt.ini, /etc/php.d/memcache.ini, /etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/soap.ini, /etc/php.d/xmlreader.ini, /etc/php.d/xmlwriter.ini, /etc/php.d/xsl.ini, /etc/php.d/zip.ini |
L'exemple suivant permet de demander la version :
php -v |
on obtiendra le résultat semblable suivant :
PHP 5.2.11 (cli) (built: Sep 21 2009 14:52:42) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies |
L'exemple suivant permet d'exécuter un code source PHP directement en ligne en affichant «Bonjour» :
php -r "print 'Bonjour';" |
L'exemple suivant permet d'afficher la quantité de mémoire attribué au script PHP :
php -r "var_dump(ini_get('memory_limit'));" |
L'exemple suivant permet de vérifier si l'extension GD est installé avec PHP :
php -i | grep "GD" |
s'il est installé, on aura un résultat comme ceci, sinon il ne retournera rien :
GD Support => enabled GD Version => bundled (2.1.0 compatible) |
L'exemple suivant permet d'exécuter le fichier PHP «monfichier.php» en ligne de commande :
php -f monfichier.php |
Voir également
Langage de programmation - PHP - Accueil
Index des extensions de fichier - Format de fichier : php.ini
Index des extensions de fichier - Format de fichier : httpd.conf
Système d'exploitation - Linux - Références de commandes et de programmes - «mysql»