CentOS下编译安装PHP7.0.13

  • 内容
  • 评论
  • 相关

一、系统软件版本

1、系统:CentOS Linux release 7.2.1511

2、Php:Php 7.0.13

3、Apache:httpd-2.4.23

4、Nginx:

二、安装所需依赖包

执行yum安装命令,有时间的小伙伴也可编译安装,看个人喜好哈、

yum install libxml2 zlib-devel libxml2-devel bzip2 bzip2-devel libcurl autoconf automake libidn-devel libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel

三、编译安装PHP7

tar -zxvf php-7.0.13.tar.gz  //解压
./configure --prefix=/usr/local/php --with-config-file-path=/etc/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysqli=/usr/local/mariadb/bin/mysql_config --with-pdo-mysql=/usr/local/mariadb --with-fpm-user=apache --with-fpm-group=apaches --enable-fpm --enable-mbstring --enable-sockets --enable-pcntl --enable-zip --enable-bcmath --with-zlib-dir --with-bz2 --with-freetype-dir --with-iconv-dir --with-gd --with-libxml-dir --with-iconv-dir --with-png-dir --with-jpeg-dir --with-mcrypt --with-curl --with-iconv --enable-libxml --enable-xml --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-ftp --enable-gd-native-ttf --with-openssl --with-ldap --with-mhash --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-ctype --enable-maintainer-zts --disable-rpath  //编译
make  //安装
make install

  //1、如无需mysql环境,则取消--with-mysqli --with-pdo-mysql编译参数,如nginx环境则取消--with-apxs2参数
  //2、--with-fpm-user --with-fpm-group为WEB组件(apache或nginx)的运行账户与组
  //3、--with-ldap为LDAP认证组件,需要时添加,并在编译前执行“cp -frp /usr/lib64/libldap* /usr/lib/”

注:如make时报错:

undefined reference to symbol ‘ber_scanf’

则编辑MakeFile,找到 115行 开头是 ‘EXTRA_LIBS’ 这一行 在结尾加上 ‘-llber’ :

EXTRA_LIBS = -lcrypt -lz -lresolv -lcrypt -lrt -lldap -lpng -lz -ljpeg -lbz2 -lz -lrt -lm -ldl -lnsl -lpthread -lxml2 -lz -lm -ldl -lssl -lcrypto -lcurl -lxml2 -lz -lm -ldl -lssl -lcrypto -lfreetype -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lcrypt -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lssl -lcrypto -lcrypt -llber

四、配置php.ini

注:php.ini-production适用于正式环境,php.ini-development适用于开发环境。

mkdir /etc/php  //创建配置目录
cp php.ini-production /etc/php/php.ini  //拷贝配置文件至配置目录
vim /etc/php/php.ini  //编辑配置文件
post_max_size = 2048M  //修改POST数据的最大大小
upload_max_filesize = 2048M  //修改上传数据的最大大小
date.timezone = PRC  //设置时区为中国
session.save_path = "/tmp"  //开启session临时目录

五、配置php-fpm

cp /usr/local/php/etc/php-fpm.conf.default /etc/php/php-fpm.conf  //拷贝默认配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf  //拷贝默认配置文件
vim /etc/php/php-fpm.conf  //编辑配置文件
error_log = /data/http/logs/php-fpm.log  //修改php-fpm的错误日志存放路径
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm  //拷贝启动文件
vim /etc/init.d/php-fpm  //编辑启动文件
php_fpm_CONF=/etc/php/php-fpm.conf  //修改配置文件的路径
chmod +x /etc/init.d/php-fpm  //增加执行权限
chkconfig --add php-fpm  //添加到开机自动启动
chkconfig php-fpm on

六、配置php+apache

vi /usr/local/apache/conf/httpd.conf
LoadModule php7_module        modules/libphp7.so  //开启功能
在DirectoryIndex 一行index.html后面添加 index.php  //含空格

在AddType application/x-gzip .gz .tgz换行添加如下两行
    AddType application/x-httpd-php .php .php3
    AddType application/x-httpd-php-source .phps

然后重启apache完成配置

service httpd restart

七、配置php+nginx

vi /etc/nginx/nginx.conf
在server字段中加入如下行
location ~ \.php$ {
    root           /data/http/html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /$document_root$fastcgi_script_name;
    include        fastcgi_params;
}

八、测试php环境

echo "<?php phpinfo(); ?>" >/data/http/html/php-info.php          //"/data/http/html/"为apache配置的网页存放目录
在我们的浏览器中输入:http://ip/php-info.php
如能看到php的配置信息页面,则 OK,安装成功。

 

 

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注