Centos 安装多个PHP版本
阅读 (372) 2022-02-14 11:21:54
由于原服务器上已有项目用的是PHP 7.0, 但我目前用的Laravel 8.x只支持到PHP ^7.3|^8.0,在不影响原有项目的基础上,新加一个PHP 7.4,编译安装
1.首先下载PHP7.4安装包
wget https://www.php.net/distributions/php-7.4.27.tar.gz
下载源速度有点慢,我是到https://www.php.net/downloads.php中下载,下载完成后上传到服务器上
2.解压
tar -zvxf php-7.4.27.tar.gz
3.进入目录
cd php-7.4.27
由于已有php 7.0,所以就跳过安装依赖
4.直接配置编译条件
./configure --prefix=/usr/local/php74 --with-fpm-user=nobody --with-fpm-group=nobody --enable-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mhash --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-zlib --enable-mbstring --with-mcrypt --enable-sockets --with-iconv-dir --enable-zip --with-pcre-dir --with-pear --enable-session --enable-gd-native-ttf --enable-xml --with-freetype-dir --enable-gd-jis-conv --enable-inline-optimization --enable-shared --enable-soap --enable-bcmath --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-mbregex --enable-pcntl --with-xmlrpc --with-gettext --enable-exif --with-readline --enable-ftp --enable-redis --enable-pdo -enable-tokenizer --enable-zip
这里需要注意一下
--prefix=/usr/local/php74 // 改成自己想设置的安装目录
--with-fpm-user=nobody // 用户
--with-fpm-group=nobody // 用户组
注意 这个地方会很容易出现错误,你只要注意configure error并百度安装相对应的环境就可以了
安装成功如下图
5.执行安装
make && make install
6.生成php.ini配置
cp /php-7.4.27/php.ini-development /usr/local/php74/bin/php.ini
这里需要注意php.ini加载位置
7.生成php-fpm配置
//1.生成 php-fpm.conf 配置
cd /usr/local/php74/etc/
//复制默认文件
cp php-fpm.conf.default php-fpm.conf
//2.生成 www.conf 配置
cd /usr/local/php70/etc/php-fpm.d
//复制默认文件
cp www.conf.default www.conf
8.修改php7.4监听端口 编辑www.conf
vim www.conf
//把listen = 127.0.0.1:9000的端口号改为9001
listen = 127.0.0.1:9001
9.把php-fpm74加入init.d
cp -R /php-7.4.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm74
cd /etc/init.d
chkconfig --add php-fpm74
10.启动启动php-fpm74
service php-fpm74 start
11.查看PHP进程
ps -ef |grep php-fpm
可以看到Php74已运行
12. nginx配置中使用9001端口的配置
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
13.1 如果想修改默认php版本为 7.4,则修改环境变量
cd /etc
vi /etc/profile
加上 export PATH=/usr/local/php74/bin:$PATH
保存退出
source /etc/profile
完成.
php -v
13.2 不修改默认PHP版本,也可以使用 完整路径的php执行相关命令,如laravel中,:
/usr/local/php74/bin/php artisan storage:link
14. composer install 遇到问题,可以把composer.phar下载到项目目录中
php -r "readfile('https://getcomposer.org/installer');" | php
15.最后再执行 composer.phar install (可以指定php版本) , composer install 使用默认版本的php
/usr/local/php74/bin/php composer.phar install
更新于:2022-04-06 14:48:22