推荐(免费):PHP7
首先安装(安装过了就不用安装了):
mysql:https://blog.csdn.net/qq_40200087/article/details/89479137
nginx:https://blog.csdn.net/qq_40200087/article/details/89504980
下载:https://www.php.net/downloads.php#v7.3.4
开发工具:
yum groupinstall "Development Tools" -y
安装依赖:
yum install libxml2-devel -y yum install bzip2 bzip2-devel -y yum install curl-devel -y yum install libjpeg-devel -y yum install libpng libpng-devel -y yum install freetype-devel -y yum install libxslt-devel -y yum install libzip-devel -y 或者合到一起安装 yum install libxml2-devel bzip2 bzip2-devel curl-devel libjpeg-devel libpng libpng-devel freetype-devel libxslt-devel libzip-devel -y
解压:
tar -zxvf php-xxx.tar.gz -C /usr/local/
进入到/usr/local 并修改名字
cd /usr/local mv php-7.3.xxx php7.3
编译
cd /usr/local/php7.3 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-fpm-user=mysql --with-fpm-group=mysql --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli=mysqlnd --with-openssl --with-pcre-regex --with-pdo-mysql=mysqlnd --with-mysql=mysqlnd --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-fpm
编译完成后是以下样子 +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP. config.status: creating php7.spec config.status: creating main/build-defs.h config.status: creating scripts/phpize config.status: creating scripts/man1/phpize.1 config.status: creating scripts/php-config config.status: creating scripts/man1/php-config.1 config.status: creating sapi/cli/php.1 config.status: creating sapi/fpm/php-fpm.conf config.status: creating sapi/fpm/www.conf config.status: creating sapi/fpm/init.d.php-fpm config.status: creating sapi/fpm/php-fpm.service config.status: creating sapi/fpm/php-fpm.8 config.status: creating sapi/fpm/status.html config.status: creating sapi/phpdbg/phpdbg.1 config.status: creating sapi/cgi/php-cgi.1 config.status: creating ext/phar/phar.1 config.status: creating ext/phar/phar.phar.1 config.status: creating main/php_config.h config.status: executing default commands configure: WARNING: unrecognized options: --with-mysql
安装:
make && make install
复制以下三个配置文件
cp php.ini-production /usr/local/php/etc/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
设置php.ini
#注意:php的注释为 ; 如果设置前面有 ; ,请记得删除 ; vim /usr/local/php/etc/php.ini max_execution_time = 300 max_input_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M date.timezone = Asia/Shanghai
测试php是否安装成功
/usr/local/php/sbin/php-fpm -t
拷贝启动文件
cp /usr/local/php7.3/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
赋予执行权限
chmod 755 /etc/init.d/php-fpm
启动
service php-fpm start
查询是否启动成功
ps -ef |grep php-fpm root 27332 1 0 08:51 ? 00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) mysql 27333 27332 0 08:51 ? 00:00:00 php-fpm: pool www mysql 27334 27332 0 08:51 ? 00:00:00 php-fpm: pool www root 27336 7898 0 08:51 pts/1 00:00:00 grep --color=auto php-fpm
配置 nginx可解析 .php文件
注意:fastcgi_pass 127.0.0.1:9000; 端口与/usr/local/php/etc/php-fpm.d/www.conf 里面的listen = 127.0.0.1:9000 配置要一样,不然无法解析 vim /usr/local/nginx/conf/nginx.conf 修改server{} 这个里面的数据为: listen 80; server_name localhost; access_log /usr/local/nginx/logs/host.access.log; root /usr/local/nginx/html; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php?$args; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location ~ .php$ { expires -1s; try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi.conf; }
测试是否解析成功:
在/usr/local/nginx/html中创建test.php,里面内容如下 <?php phpinfo(); ?> 执行 /usr/local/nginx/sbin/nginx 浏览去输入 http://本机ip/test.php 如果打开网页了则解析成功,如果是下载,则解析失败
遇到一个错误:
执行测试的时候遇到 [root@jenkins-master etc]# /usr/local/php/sbin/php-fpm -t PHP: syntax error, unexpected '=' in Unknown on line 1 [25-Apr-2019 08:36:28] ERROR: Unable to include /usr/local/php/etc/php-fpm.d/www.conf from /usr/local/php/etc/php-fpm.conf at line 23 [25-Apr-2019 08:36:28] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf' [25-Apr-2019 08:36:28] ERROR: FPM initialization failed 最后发现是我执行./configue 的时候后面配置文件有一个少了个空格,我已修改上面的配置 原因呢是因为 www.conf 里面的user配置错误