php7 -v,php7源码安装

本文档详细介绍了如何在Linux环境中安装PHP7,包括解压源码、配置选项、编译安装、配置php-fpm、修改配置文件、启动php-fpm服务以及设置Nginx支持PHP应用。在过程中提到了可能出现的错误,如libxml2依赖问题、配置文件复制错误、php-fpm初始化失败等,并给出了相应的解决办法。最后,文章还涵盖了测试PHP安装是否成功的步骤。
摘要由CSDN通过智能技术生成

安装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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值