在CentOS7上同时安装php704和php734

首先安装php704

1、安装依赖包

yum install libxml2 libxml2-devel openssl openssl-devel zip bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel ncurses-base ncurses-libs ncurses-devel libxslt libxslt-devel libgpg-error-devel libgcrypt-devel -y

 

2、下载php-7.0.4.tar.gz

cd /usr/local/src
wget http://cn2.php.net/distributions/php-7.0.4.tar.gz

 

3、编译安装

tar xf php-7.0.4.tar.gz
cd php-7.0.4
./configure --prefix=/usr/local/php704 --with-config-file-path=/etc --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache
make && make install

 

4、配置

cp /usr/local/src/php-7.0.4/php.ini-production /etc/php.ini
cp /usr/local/php704/etc/php-fpm.conf.default /usr/local/php704/etc/php-fpm.conf
cp /usr/local/php704/etc/php-fpm.d/www.conf.default /usr/local/php704/etc/php-fpm.d/www.conf
cp /usr/local/src/php-7.0.4/sapi/fpm/php-fpm.service /etc/systemd/system/
vim /etc/systemd/system/php-fpm.service
# 这里要修改php-fpm.service中的路径
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/usr/local/php704/var/run/php-fpm.pid
ExecStart=/usr/local/php704/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php704/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

注意,php-fpm的默认监听端口是9000,在配置文件/usr/local/php704/etc/php-fpm.d/www.conf中有写明。

 

5、启动php-fpm

systemctl start php-fpm

 

6、如果需要安装redis扩展

yum install autoconf -y
cd /usr/local/src
wget https://codeload.github.com/phpredis/phpredis/zip/develop
unzip develop
cd phpredis-develop/
/usr/local/php704/bin/phpize
./configure --with-php-config=/usr/local/php704/bin/php-config
make && make install


# 然后在/etc/php.ini中最底部加入redis.so
extension=redis.so

 

7、重启php-fpm即可

 

注意看:

编译时,指定的用户为nobody,那么你的php程序代码目录权限也要改为nobody,否则无法使用。

 

然后安装php734

1、下载php-7.3.4.tar.gz

cd /usr/local/src
wget http://cn2.php.net/distributions/php-7.3.4.tar.gz

 

2、安装libzip(如果需要zip压缩,则安装,否则可以跳过安装libzip)

cd /usr/local/src
wget https://nih.at/libzip/libzip-1.2.0.tar.gz --no-check-certificate
(或者直接从此处下载https://libzip.org/download/libzip-1.2.0.tar.gz)
tar xf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure && make && make install cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h echo '/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
' >> /etc/ld.so.conf
ldconfig
-v

注意:/etc/ld.so.conf的格式,请尝试按照一行一行的格式来。

 

3、编译安装php734

./configure --prefix=/usr/local/php734 --with-config-file-path=/etc --enable-fpm \
--with-fpm-user=nobody --with-fpm-group=nobody --enable-inline-optimization \
--disable-debug --disable-rpath --enable-shared --enable-soap --with-libxml-dir \
--with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex \
--with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 \
--enable-calendar --with-curl --with-cdb --enable-dom --enable-exif \
--enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd \
--with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir \
--with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext \
--with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex \
--enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo \
--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite \
--with-readline --enable-session --enable-shmop --enable-simplexml \
--enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx \
--with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support \
--with-pear --enable-opcache
make && make install

 

4、配置

cp /usr/local/php734/etc/php-fpm.conf.default /usr/local/php734/etc/php-fpm.conf
cp /usr/local/php734/etc/php-fpm.d/www.conf.default /usr/local/php734/etc/php-fpm.d/www.conf
cp /usr/local/src/php-7.3.4/sapi/fpm/php-fpm.service /etc/systemd/system/php734-fpm.service

# 很奇怪,这次不用修改php734-fpm.service中的路径,路径已经自动填上了

注意,由于机器上的9000端口已经被占用了,所以要换个端口。

vim /usr/local/php734/etc/php-fpm.d/www.conf

 

5、启动

systemctl start php734-fpm

 

####################################

nginx配置文件

server {
    listen       8080;
    server_name  192.168.0.109;

    index index.html index.php;
    access_log /var/log/php/nginx_access.log;
    error_log  /var/log/php/nginx_error.log;
    client_max_body_size    500m;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        root /data/public;
        add_header Access-Control-Allow-Origin *;
        add_header X-debug-message "hey2";
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

 

posted @ 2022-06-05 00:15  道霖  阅读(114)  评论(0编辑  收藏  举报