informatique:php:php
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
informatique:php:php [2021/11/12 08:26] – [array_pop vs. array_shift] alexis | informatique:php:php [2022/09/29 03:00] (Version actuelle) – alexis | ||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
[[https:// | [[https:// | ||
===== Utiliser la ligne de commande ===== | ===== Utiliser la ligne de commande ===== | ||
+ | <WRAP prewrap> | ||
<code bash> | <code bash> | ||
# Afficher la version | # Afficher la version | ||
Ligne 23: | Ligne 24: | ||
php -a | php -a | ||
</ | </ | ||
+ | </ | ||
===== Fonctions méconnues ===== | ===== Fonctions méconnues ===== | ||
Ligne 49: | Ligne 51: | ||
Voici un exemple pour s'en convaincre : | Voici un exemple pour s'en convaincre : | ||
+ | <WRAP prewrap> | ||
<code php benchmark.php> | <code php benchmark.php> | ||
<?php | <?php | ||
Ligne 66: | Ligne 69: | ||
</ | </ | ||
+ | </ | ||
+ | |||
===== PCRE et UTF-8 ===== | ===== PCRE et UTF-8 ===== | ||
Il est possible de gérer des chaînes de caractères UTF-8 sans avoir besoin de recompiler PHP en activant le drapeau PCRE UTF-8. Pour faire cela, il suffit d' | Il est possible de gérer des chaînes de caractères UTF-8 sans avoir besoin de recompiler PHP en activant le drapeau PCRE UTF-8. Pour faire cela, il suffit d' | ||
Ligne 75: | Ligne 80: | ||
===== Convertir un tableau en CSV ===== | ===== Convertir un tableau en CSV ===== | ||
Il n'y a pas de fonction pour faire ça directement. Mais il est quand même possible de le faire en combinant certains outils de PHP. | Il n'y a pas de fonction pour faire ça directement. Mais il est quand même possible de le faire en combinant certains outils de PHP. | ||
+ | <WRAP prewrap> | ||
<code php> | <code php> | ||
// Ouverture d'un fichier mémoire en lecture/ | // Ouverture d'un fichier mémoire en lecture/ | ||
Ligne 87: | Ligne 93: | ||
fclose($fp); | fclose($fp); | ||
</ | </ | ||
+ | </ | ||
===== Utiliser le client SOAP avec un certificat ===== | ===== Utiliser le client SOAP avec un certificat ===== | ||
Ligne 94: | Ligne 101: | ||
Heureusement, | Heureusement, | ||
+ | <WRAP prewrap> | ||
<code php> | <code php> | ||
$wsdl = "< | $wsdl = "< | ||
Ligne 113: | Ligne 121: | ||
$soap_client = new \SoapClient($wsdl, | $soap_client = new \SoapClient($wsdl, | ||
</ | </ | ||
+ | </ | ||
===== Curiosités ===== | ===== Curiosités ===== | ||
==== Quine ==== | ==== Quine ==== | ||
+ | <WRAP prewrap> | ||
<code php> | <code php> | ||
<?php | <?php | ||
readfile(__FILE__); | readfile(__FILE__); | ||
</ | </ | ||
+ | </ | ||
==== Boucle " | ==== Boucle " | ||
Cette boucle est une boucle infinie. | Cette boucle est une boucle infinie. | ||
+ | <WRAP prewrap> | ||
<code php> | <code php> | ||
for (;;) { | for (;;) { | ||
Ligne 128: | Ligne 140: | ||
} | } | ||
</ | </ | ||
+ | </ | ||
Elle est équivalente à cette autre boucle infinie : | Elle est équivalente à cette autre boucle infinie : | ||
+ | <WRAP prewrap> | ||
<code php> | <code php> | ||
while (true) { | while (true) { | ||
Ligne 134: | Ligne 148: | ||
} | } | ||
</ | </ | ||
+ | </ | ||
====== Obsolète ====== | ====== Obsolète ====== | ||
Ligne 139: | Ligne 154: | ||
Par défaut, la version de PHP installée sur cette version est la version 5.3.10. Voici les différentes étapes pour pouvoir utiliser plusieurs versions de PHP simultanement avec Apache. | Par défaut, la version de PHP installée sur cette version est la version 5.3.10. Voici les différentes étapes pour pouvoir utiliser plusieurs versions de PHP simultanement avec Apache. | ||
==== Installation des bibliothèques nécessaires ==== | ==== Installation des bibliothèques nécessaires ==== | ||
+ | <WRAP prewrap> | ||
<code bash> | <code bash> | ||
# Bibliothèques pour la compilation | # Bibliothèques pour la compilation | ||
Ligne 157: | Ligne 173: | ||
libapache2-mod-fastcgi | libapache2-mod-fastcgi | ||
</ | </ | ||
+ | </ | ||
+ | |||
==== Compilation de PHP ==== | ==== Compilation de PHP ==== | ||
+ | <WRAP prewrap> | ||
<code bash> | <code bash> | ||
# récupération du code source | # récupération du code source | ||
Ligne 198: | Ligne 217: | ||
sudo cp php.ini-production / | sudo cp php.ini-production / | ||
</ | </ | ||
+ | </ | ||
**Notes** : | **Notes** : | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
==== Configuration de Apache - FastCGI ==== | ==== Configuration de Apache - FastCGI ==== | ||
Il faut commencer par activer le module FastCGI dans Apache. | Il faut commencer par activer le module FastCGI dans Apache. | ||
Ensuite, il faut créer le fichier /// | Ensuite, il faut créer le fichier /// | ||
+ | <WRAP prewrap> | ||
<code bash> | <code bash> | ||
#!/bin/sh | #!/bin/sh | ||
Ligne 216: | Ligne 238: | ||
exec / | exec / | ||
</ | </ | ||
+ | </ | ||
Puis rendre ce fichier exécutable. | Puis rendre ce fichier exécutable. | ||
+ | |||
==== Configuration de Apache - VirtualHost ==== | ==== Configuration de Apache - VirtualHost ==== | ||
Il faut configurer normalement le VirtualHost pour le site que nous voulons servir. Il faut cependant ajouter quelques instructions spécifiques à l' | Il faut configurer normalement le VirtualHost pour le site que nous voulons servir. Il faut cependant ajouter quelques instructions spécifiques à l' | ||
- | - Il faut ajouter l' | + | - Il faut ajouter l' |
Options Indexes FollowSymLinks MultiViews ExecCGI | Options Indexes FollowSymLinks MultiViews ExecCGI | ||
- | </ | + | </code></ |
- | - Il faut ajouter la méthode que l'on va utiliser pour manipuler les fichiers php :<code apache> | + | - Il faut ajouter la méthode que l'on va utiliser pour manipuler les fichiers php :<WRAP prewrap><code apache> |
AddHandler fastcgi .php | AddHandler fastcgi .php | ||
- | </ | + | </code></ |
- | - ll faut configurer la méthode que l'on va utiliser pour manipuler les fichiers php :<code apache> | + | - ll faut configurer la méthode que l'on va utiliser pour manipuler les fichiers php :<WRAP prewrap><code apache> |
Action fastcgi / | Action fastcgi / | ||
- | </ | + | </code></ |
- | - Il faut configurer l' | + | - Il faut configurer l' |
ScriptAlias /cgi-bin/ "/ | ScriptAlias /cgi-bin/ "/ | ||
- | </ | + | </code></ |
- | - Il faut configurer le dossier dans lequel se trouve les scripts utilisés par le module FastCGI :<code apache> | + | - Il faut configurer le dossier dans lequel se trouve les scripts utilisés par le module FastCGI :<WRAP prewrap><code apache> |
< | < | ||
AllowOverride All | AllowOverride All | ||
Ligne 240: | Ligne 264: | ||
Allow from all | Allow from all | ||
</ | </ | ||
- | </ | + | </code></ |
Le résultat final devrait ressembler à ce qui suit : | Le résultat final devrait ressembler à ce qui suit : | ||
+ | <WRAP prewrap> | ||
<code apache> | <code apache> | ||
< | < | ||
Ligne 275: | Ligne 300: | ||
</ | </ | ||
</ | </ | ||
+ | </ | ||
**Attention**, | **Attention**, | ||
Ligne 289: | Ligne 315: | ||
===== Installer HHVM sur Ubuntu 15.10 ===== | ===== Installer HHVM sur Ubuntu 15.10 ===== | ||
+ | <WRAP prewrap> | ||
<code bash> | <code bash> | ||
# Gère les dépôts utilisés pour installer des programmes (common) | # Gère les dépôts utilisés pour installer des programmes (common) | ||
Ligne 305: | Ligne 332: | ||
sudo apt-get install hhvm | sudo apt-get install hhvm | ||
</ | </ | ||
+ | </ | ||
Pour plus d' | Pour plus d' | ||
informatique/php/php.1636734381.txt.gz · Dernière modification : 2021/11/12 08:26 de alexis