在Ubuntu 16.04下源码编译安装PHP7 过程记录。
报错常见问题处理 https://phperzh.com/articles/1789
nginx 安装
./configure --prefix=/opt/nginx --with-http_ssl_module --with-pcre
一、下载PHP7的最新版源码
php7.0.9 下载地址 http://php.net/get/php-7.0.9.tar.gz/from/a/mirror
二、解压
tar -zxf /tmp/php-7.0.9.tar.gz
三、安装相关依赖库
sudo apt-get update
sudo apt-get install libxml2-dev
#安装gcc
sudo apt-get install build-essential
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install make
sudo apt-get install curl
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libpng-dev
sudo apt-get install libmcrypt-dev
sudo apt-get install libreadline6 libreadline6-dev
sudo apt-get install libfreetype6-dev
四、编译:(编译参数2个中选择一个,第一段大部分机器即可编译,第二段参数推荐64位x86系统编译)
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-freetype-dir --with-jpeg-dir --with-curl --enable-mbstring --with-gd --with-openssl --enable-intl --enable-opcache
五、执行make 和 sudo make install 安装
make && sudo make install
六、配置php-fpm
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
cd /usr/local/php/etc/php-fpm.d
cp www.conf.default www.conf
user = www
group = www
如果www用户不存在,那么先添加www用户
groupadd www
useradd -g www www
七、验证PHP
/usr/local/php/bin/php -v
八、启动php-fpm
sudo /usr/local/php/sbin/php-fpm
设置php.ini
cp /opt/php-7.2.7/php.ini-production /usr/local/php/etc/php.ini
配置nginx支持php
location / {
root /home/www;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www$fastcgi_script_name;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}