Maison >développement back-end >PHP7 >Compiler et installer PHP7.4 (ubuntu)
Cet article est écrit par la rubrique PHP7tutorial pour vous présenter comment compiler et installer PHP7.4 (ubuntu). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Téléchargez le package source PHP7.4
wget https://www.php.net/distributions/php-7.4.26.tar.gz
Décompressez
tar -zxvf php-7.4.26.tar.gz
Installez la bibliothèque de dépendances PHP
apt-get install libxml2 libxml2-dev sqlite3 libsqlite3-dev libcurl3-dev libxml-dev
Exécutez ./configure
# cd 到php源码目录 ./configure --prefix=/usr/local/php7 \ --with-config-file-path=/etc \ --with-fpm-user=test \ --with-fpm-group=test \ --with-curl --enable-fpm
Remarque : il n'y a qu'un quelques extensions ici, car là sont nombreux Le temps de compilation sera très long. Il n'est utilisé que pour tester la compilation et l'installation de PHP, donc peu d'extensions sont ajoutées. Une fois l'installation terminée, si vous souhaitez ajouter plus d'extensions ultérieurement et oublier les paramètres de compilation précédents, vous pouvez voir les paramètres de compilation précédents dans le répertoire du code source cat config.nice. Ajoutez ensuite de nouveaux paramètres et recompilez (n'oubliez pas d'installer d'abord la bibliothèque de dépendances étendues).
Exécutez make && make install
Vous pouvez ajouter le paramètre -j lors de l'exécution de make install, ce qui signifie que plusieurs tâches fonctionnent en même temps et que la vitesse de compilation sera plus rapide.
make install -j 2
Définir les variables d'environnement PHP
1. Ouvrez le fichier
vim /etc/profile
2 Écrivez le contenu
PATH=$PATH:/usr/local/php7/bin export PATH
3. Faites en sorte que les variables d'environnement prennent effet immédiatement
source /etc/profile
4. , les variables d'environnement sont définies avec succès
Fichier de configuration
# 修改配置文件 cd /usr/local/php7/etc cp php-fpm.conf.default php-fpm.conf cp php-fpm.d/www.conf.default php-fpm.d/www.conf # 修改pid文件位置 vim php-fpm.conf # 添加这行 pid = /run/php-fpm.pid # 创建php-fpm软链接 ln -s /usr/local/php7/sbin/php-fpm /usr/sbin/php-fpm
Démarrer et arrêter php-fpm
# 启动 /usr/sbin/php-fpm # 关闭 kill -INT `cat /run/php-fpm.pid` # 重启 kill -USR2 `cat /run/php-fpm.pid`
Gestion des erreurs
ERREUR : [pool www] ne peut pas obtenir l'uid pour l'utilisateur 'test'
1. Raison : en raison d'une compilation précédente Lors de la configuration, l'utilisateur et le groupe d'utilisateurs de php-fpm sont testés [définis avec désinvolture] (--with-fpm-user=test --with-fpm-group=test In). en fait, cet utilisateur n'existe pas. Il y a deux façons de le gérer :
Créez un utilisateur et un groupe d'utilisateurs pour le test
Modifiez php-fpm.conf et définissez l'utilisateur et le groupe d'utilisateurs pour qu'ils soient identiques. en tant que groupe d'utilisateurs nginx ou apache
# 打开php-fpm.conf vim /usr/local/php7/etc/php-fpm.conf # 找到位置修改为(我nignx用户组是 www-data user = www-data) group = www-data
2. ERREUR : échec de récupération de TCP_INFO pour le socket : protocole non disponible (92)
Cause : j'utilise le sous-système Linux (système Ubuntu) sous Windows, qui n'est pas un système complètement virtuel. Il y aura quelques problèmes, mais cela ne l'affecte pas. Vérifiez dans le gestionnaire de tâches hôte que php-fpm a été démarré.
Solution : Modifier php-fpm.conf
# 方法1: listen = /run/php-fpm.sock # 方法2 设置 log_level = alert
Ajouter un démon
# PHP源码里有自带的服务脚本,只需要复制到/etc/init.d 目录,加上执行权限就可以了。 # 要注意保持 /usr/local/php7/etc/php-fpm.conf 里面的 pid 文件位置是初始值。原来的是 pid = run/php-fpm.pid # 在源码目录执行 cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm systemctl daemon-reload # 使用方法与上面相同,也可以使用 systemctl service php-fpm start service php-fpm stop service php-fpm restart service php-fpm status # 或者 systemctl start php-fpm systemctl stop php-fpm systemctl restart php-fpm systemctl status php-fpm
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!