# 在centos7系统上进行操作
命令:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm7
# 在centos7系统上进行操作
命令:
yum install bzip2 bzip2-devel bisonbison-devel cmake curl curl-devel e2fsprogs e2fsprogs-devel epel-releasefreetype freetype-devel gcc gcc-c++ glibc glibc-devel glib2 glib2-devel gmpgmp-devel krb5 krb5-devel libmcrypt libmcrypt-devel libxslt libxslt-devellibcurl libcurl-devel libedit-devel libjpeg libjpeg-devel libpng libpng-devellibxml2 libxml2-devel libidn libidn-devel libzip-devel mcrypt mhash-develncurses ncurses-devel openssl openssl-devel openssl-develsqlite-devel readlinereadline-devel sqlite-devel uuid libuuid-devel zlib zlib-devel
下载网址:PHP: Releases
下载命令:wget https://www.php.net/releases/php-5.6.36.tar.gz
linux 目录: /usr/local/src
注:如果使用wget直接下载不成功,就下载到window上,然后使用sftp上传到linux上
目录:/usr/local/src
命令:
tar zxvf php-5.6.36.tar.gz
# 进入解压后的文件夹 /usr/local/src/php-5.6.36
命令:
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-fpm \
--with-openssl \
--with-mcrypt \
--enable-mbstring \
--enable-pdo \
--with-curl \
--disable-debug \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-pdo-mysql \
--with-mysqli \
--with-gd \
--with-jpeg-dir \
--with-freetype-dir \
--enable-calendar
若结果显示“Thankyou for using PHP.”,则说明PHP配置成功。
目录: /usr/local/src/php-5.6.36
make需要花费较长时间(可能需要几分钟到十几分钟),需要耐心等待一会
命令:
make && make install
若结果显示“Build complete. Don't forget to run'make test'.”,则说明PHP编译安装成功。
make test
make test 也许要一些时间,需要耐心等待一会
命令:
/usr/local/php/sbin/php-fpm -v
结果:
PHP 5.6.36 (fpm-fcgi) (built: Mar 13 2023 11:34:24)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
进入目录:cd /usr/local/src/php-5.6.36/
执行命令:
cp php.ini-production /etc/php.ini
cp php.ini-production /usr/local/php/etc/php.ini
cd /usr/local/php/etc/
cp php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf
将 pid = run/php-fpm.pid
修改成pid = /usr/local/php/var/run/php-fpm.pid
vim /usr/local/php/etc/php.ini
vim /etc/php.ini
max_execution_time = 0
max_input_time = 600
post_max_size = 200M
upload_max_filesize = 200M
date.timezone = PRC
date.timezone 取消前面的分号
cd /usr/local/src/php-5.6.36/sapi/fpm/
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig php-fpm on
vim /etc/nginx/nginx.conf文件,做出如下修改:
server {listen 80;server_name localhost;location / {# 修改html路径root /usr/local/nginx/html;# 添加index.phpindex index.html index.htm index.php;}location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;# 修改html路径 fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;include fastcgi_params;}
}
注意标红的部分:
# 添加index.php
index index.html index.htm index.php;
/usr/local/nginx/sbin/nginx -s reload
进入目录: cd /usr/local/php/sbin/
service php-fpm start
启动命令:service php-fpm start
或 /etc/init.d/php-fpm start
若结果显示
ERROR: [pool www] cannot get uid for user 'nginx'
[13-Mar-2023 14:07:02] ERROR: FPM initialization failed
failed
则需要使用命令“useradd nginx”添加用户nginx。
然后重新启动php-fpm。
看到如下字样即成功:
Starting php-fpm done
service php-fpm stop
或 /etc/init.d/php-fpm stop
service php-fpm restart
或 /etc/init.d/php-fpm restart
命令:lsof -i:9000
lsof -i:80
看到如上信息即表示成功
若页面出现“PHP Version 5.6.36”等信息,则说明PHP配置成功。
向该脚本中写入PHP测试连接数据库的代码,代码如下:
即可进行访问测试。
如果可以看到如下字样即表是成功:
php可以连接MySQL...