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 --with-pdo-mysql --with-fpm-user=daemon --with-fpm-group=daemon --with-fpm-systemd --with-gd --with-zlib --with-zlib-dir --with-bz2 --with-iconv-dir --with-iconv --with-freetype-dir --with-openssl --with-mhash --with-xmlrpc --with-gettext --with-curl --with-ldap --with-gmp --enable-fpm --enable-zip --enable-mbstring --enable-sockets --enable-pcntl --enable-bcmath --enable-xml --enable-intl --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-ftp --enable-soap --enable-session --enable-ctype --enable-maintainer-zts --enable-exif --enable-pcntl //编译 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,安装成功。
发表评论