Centos 安装多个PHP版本

阅读 (974)
由于原服务器上已有项目用的是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-fpm74cd /etc/init.dchkconfig --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
返回顶部