安装php7的过程:
1.tar zxf php-x.x.x
2.Configure and build PHP. This is where you customize PHP with various options,
like which extensions will be enabled. Run ./configure --help for a list of available options.
In our example we'll do a simple configure with PHP-FPM and MySQL support.
cd ../php-x.x.x
./configure --enable-fpm --with-mysql
make
sudo make install
3.
Obtain and move configuration files to their correct locations
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
4.
It is important that we prevent Nginx from passing requests to the PHP-FPM backend
if the file does not exists, allowing us to prevent arbitrarily script injection.
vim /usr/local/php/php.ini
cgi.fix_pathinfo=0
5.
php-fpm.conf must be modified to specify that
php-fpm must run as the user www-data and the group www-data before we can start the service:
vim /usr/local/etc/php-fpm.conf
; 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-data
group = www-data
6.
The php-fpm service can now be started:
/usr/local/bin/php-fpm
7.
Nginx must now be configured to support the processing of PHP applications:
vim /usr/local/nginx/conf/nginx.conf
Modify the default location block to be aware it must attempt to serve .php files:
location / {
root html;
index index.php index.html index.htm;
}
8. The next step is to ensure that .php files are passed to the PHP-FPM backend.
Below the commented default PHP location block, enter the following:
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;
}
9.Restart Nginx.
sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx
10.Create a test file
错误一、在配置的时候会报错,需要安装libxml2-dev和libxml2包
错误二、另外启动的时候报错:
cp /root/php-7.0.0alpha1/sapi/fpm/php-fpm.conf /usr/local/etc/php-fpm.conf
错误三、
ERROR: Unable to globalize '/usr/local/NONE/etc/php-fpm.d/*.conf' (ret = 2) from /usr/local/etc/php-fpm.conf at line 125.
ERROR: failed to load configuration file '/usr/local/etc/php-fpm.conf'
ERROR: FPM initialization failed
Edit /usr/local/etc/php-fpm.conf document introduced * .conf part,
change to the correct path include = / usr / local / etc / php-fpm.d / *. Conf
If there is no /usr/local/etc/php-fpm.d directory, create the directory.
错误四:
WARNING: Nothing matches the include pattern '/usr/local/etc/php-fpm.d/*.conf' from /usr/local/etc/php-fpm.conf at line 125.
ERROR:. No pool defined at least one pool section must be specified in config file
ERROR: failed to post process the configuration
ERROR: FPM initialization failed
cp www.conf.default www.conf
错误五:
ERROR: [pool www] can not get gid for group 'nobody'
ERROR: FPM initialization failed
Www.conf open files, user and group users into nginx default settings, usually the default is www-data.
增加配置:
php-fpm.conf中:
[global]
; Note: the default prefix is /usr/local/php/var
error_log = log/php_error_log
[www]
catch_workers_output = yes
php.ini中:
log_errors = On
error_log = "/usr/local/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE
创新互联于2013年创立,先为广阳等服务建站,广阳等地企业,进行企业商务咨询服务。为广阳企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。