php源码搭建环境,CentOS 6.8 搭建LNAMP环境(四)- 源码安装PHP 7.0

一、安装PHP7

1、yum安装编译php需要的包

yum -y install libxml2 libxml2-devel curl-devel libpng-devel freetype-devel libmcrypt-devel libjpeg-devel

2、下载php源码包,将源码包放到/usr/local/src/目录下

这里用的是 php-7.0.24.tar.gz

3、进入/usr/local/src/目录,解压PHP源码包

cd /usr/local/src/

tar -xvf php-7.0.24.tar.gz

4、进入php源码目录,编译安装(配置参数:http://php.net/manual/zh/configure.about.php)

cd php-7.0.24

./configure --prefix=/usr/local/php --with-mcrypt=/usr/include --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql-sock=/var/lib/mysql/mysql.sock --enable-fpm --enable-ftp --enable-xml --enable-zip --enable-soap --enable-pcntl --enable-shmop --enable-bcmath --enable-shared --enable-mysqlnd --enable-opcache --enable-session --enable-sockets --enable-sysvsem --enable-mbregex --enable-mbstring --enable-gd-native-ttf --enable-inline-optimization --with-gd --with-curl --with-zlib --with-mhash --with-iconv --with-xmlrpc --with-gettext --with-jpeg-dir --with-freetype-dir --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --without-gdbm --without-pear --disable-debug --disable-rpath --disable-fileinfo

make && make install

若./configure报错configure: error: mcrypt.h not found. Please reinstall libmcrypt.

yum install -y epel-release

yum install -y libmcrypt-devel

注:两个不能一起安装,因为CentOS6默认的yum源没有 libmcrypt-devel这个包,只能借助epel的yum源,所

以先安装epel,再安装libmcrypt。

5、复制配置文件

cp /usr/local/src/php-7.0.24/php.ini-development /usr/local/php/etc/php.ini

6、将php命令加入环境变量,修改profile文件

vim /etc/profile

7、 在文件末尾加入下面内容,保存退出

PATH=$PATH:/usr/local/php/bin

export PATH

8、使/etc/profile里的配置立即生效

source /etc/profile

二、配置Apache支持PHP7

1、修改apache配置文件httpd.conf

vim /usr/local/apache/conf/httpd.conf

2、找到下面位置,加入红色标记部分,保存退出

DirectoryIndex index.html index.php

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

Addtype application/x-httpd-php .php .phtml

3、重启apache

service httpd restart

4、在apache的web目录下添加php文件,如/var/www/html/phpinfo.php

phpinfo();

访问URL,如:http://192.168.198.119:8080/phpinfo.php

页面显示正常,则配置成功

822c9a1e7940cbc544240e9406226052.png

三、配置Nginx支持PHP7

1、配置php-fpm

php-fpm.conf是 php-fpm 进程服务的配置文件

www.conf这是 php-fpm 进程服务的扩展配置文件

cd /usr/local/php/etc

mv php-fpm.conf.default php-fpm.conf

mv php-fpm.d/www.conf.default php-fpm.d/www.conf

编辑www.conf文件,将user和group改成和nginx.conf中的user和group一致(默认是nobody用户和用户组)

vim /usr/local/php/etc/php-fpm.d/www.conf

找到

user = nginx

group = nginx

改为

user = nobody

group = nobody

2、将php-fpm服务脚本加入到init.d/目录

cp /usr/local/src/php-7.0.24/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

3、为php-fpm添加可执行权限

chmod +x /etc/init.d/php-fpm

4、将php-fpm加入系统服务

chkconfig --add php-fpm

5、修改服务的默认启动等级

chkconfig php-fpm on

6、 启动php-fpm

service php-fpm start

7、修改nginx配置文件nginx.conf

vim /usr/local/nginx/conf/nginx.conf

8、找到location的添加位置,在后面添加下面这个location

location / {

root /var/www/wwwroot;    #指定web根目录

fastcgi_pass 127.0.0.1:9000;    #php-fpm的默认端口是9000

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

9、重启nginx

service nginx restart

10、在nginx的web目录下添加php文件,如/var/www/wwwroot/phpinfo.php

phpinfo();

访问URL,如:http://192.168.198.119/phpinfo.php

页面显示正常,则配置成功

PIS:从5.3.9开始,php官方加入了一个配置"security.limit_extensions",默认状态下只允许执行扩展名

为".php"的文件,造成了其他类型的文件不支持的问题。所以访问其他类型文件会出现 “Access denied”

修改php-fpm 进程服务的扩展配置文件

vim /usr/local/php/etc/php-fpm.conf

在后面加上一行:

security.limit_extensions = .php .asmx .html .js .css .jpg .jpeg .gif .png .htm

四、测试PHP7操作MySQL

在web目录下添加php文件,如/var/www/wwwroot/test.php

$host = 'localhost';

$user = 'root';

$pass = 'root';

$database = 'mysql';

$sql = 'SELECT * FROM user LIMIT 1';

/*连接PDO*/

try {

$dbh = new PDO("mysql:host=$host;dbname=$database", $user, $pass);

foreach ($dbh->query($sql) as $row) {

print_r($row);

}

$dbh = null;

} catch (PDOException $e) {

print "PDO Error: " . $e->getMessage() . "
";

}

访问URL,如:http://192.168.198.119/test.php

页面显示正常,则配置成功

PHP7安装完毕!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值