版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014552726/article/details/86528851
1. 下载PHP7,编译安装
tar zxf php-x.x.x
cd ../php-x.x.x
./configure --enable-fpm --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mbstring --with-zlib --with-curl --with-bz2
make && make install
2. 准备运行环境
cd php-x.x.x.源码路径
cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin
3. 修改运行配置
vim /usr/local/php/php.ini
#Locate cgi.fix_pathinfo= and modify it as follows:
cgi.fix_pathinfo=0
#查找出所有www.conf文件
sudo find / -name www.conf
#将这些文件的其中下面的内容进行修改:nobody修改为www
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
user = www
group = www
4. 修改php-fpm.conf
#查找出所有的php-fpm.conf
sudo find / -name php-fpm.conf
将最后一行
include=NONE/etc/php-fpm.d/*.conf
修改为:
include=etc/php-fpm.d/*.conf
5. 启动
/usr/local/sbin/php-fpm
若遇到错误:
“fastcgi [pool www] cannot get gid for group ‘www’”
解决方法:需要自己创建用户以及组
sudo useradd www
6. tengine配置修改
在tengine安装目录/confmuluxia ,新建server.conf;内容如下:
server{
listen 80;
server_name 111.231.114.218;
server_name blog.okdokey.cn;
index index.php index.html index.htm;
root /var/www/wordpress;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
然后编辑nginx.conf,将刚创建的server.conf包含进来:
vim nginx.conf;
http {
include mime.types;
access_log logs/access.log main;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
include server.conf;
}
7. 启动tengine
/usr/local/tengine/sbin/nginx -t
/usr/local/tengine/sbin/nginx -s start
8. 测试php
echo "<?php phpinfo(); ?>" >> /usr/local/tengin/html/info.php
访问ip/info.php看php信息介绍页是否成功显示。
遇见的问题:
(1)wordpress配置数据库连接,总提示连接不上?
问题解决:安装的mysql 8社区版,可能是因为其加密方式WordPress不支持吧,卸载重新安装了mariadb10.1没有问题。
(2)WordPress登录后台报错:PHP Fatal error: Call to undefined function gzinflate()?
问题解决:php7缺少zlib扩展,安装zlib后,wordpress才能够升级插件,wp super cache才可以使用压缩功能。方法如下:
进入php7的源码目录,进入ext/zlib,将config0.m4修改为config.m4
运行:
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make && make install
最后在php.ini里面添加extension=zlib
vi /usr/local/php/php.ini
重启 php-fpm
killall php-fpm
/usr/local/sbin/php-fpm
ps: php各种模块扩展的编译安装,都是这种套路