编译 PHP7.0为什么那么慢,CentOS 7编译安装php7.0.7以及可能遇到的问题的解决方案...

#CentOS 7编译安装php7.0.7

下载并解压php

编译安装

修改配置文件

启动服务

过程中可能遇到的问题解决

1.下载并解压php

####下载地址

http://cn2.php.net/distributions/php-7.0.7.tar.gz

####存放下载目录

cd /harddisk/Downloads

wget http://cn2.php.net/distributions/php-7.0.7.tar.gz

#等待下载完成后解压

tar -zxvf php-7.0.7.tat.gz

2.编译安装

###1、安装依赖包

# yum -y install libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel openldap-devel libmcrypt-devel

###2、对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系

cd php-7.0.7

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-zlib --enable-pdo --with-pdo-mysql --enable-opcache

以上部分配置说明:

–prefix=/usr/local/php #表示php安装目录

–with-iconv=/usr/local #libiconv可能需另外安装

–with-mysql=/usr/local/mysql

–with-mysqli=/usr/local/mysql/bin/mysql_config #这是mysql的安装目录和配置

###3、编译(必须在以上操作没有出错再进行)

make

###4、安装

make install

3.修改配置文件

###1、配置php-fpm.conf(php-fpm 进程服务的配置文件)

cd /usr/local/php/etc/

cp php-fpm.conf.default php-fpm.conf

vim php-fpm.conf

#修改

pid = tmp/php-fpm.pid(启动时如果报错可能需要手动创建tmp文件夹)

###2、配置www.conf(php-fpm 进程服务的扩展配置文件)

cd /usr/local/php/etc/php-fpm.d/

cp www.conf.default www.conf

vim www.conf

#设置用户和用户组为www

user = www

group = www

#如果没有对应用户组,需先创建(已经存在则忽略)

groupadd (用户组)

useradd -g (用户组) (用户)

###3、从下载php解压文件夹复制php.ini-development到/usr/local/php/etc下,并改名为php.ini

###4、php快捷方式,在/usr/local/bin创建软链接php/bin和php/sbin

cd /usr/local/bin/

ln -s /usr/local/php/bin/* .

ln -s /usr/local/php/sbin/* .

4.启动服务

###1、创建服务启动脚本

cd /usr/lib/systemd/system

vim php-fpm.service

#输入以下内容

[Unit]

Description=php

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/usr/local/php/sbin/php-fpm

[Install]

WantedBy=multi-user.target

#保存退出

:wq

###2、启动服务

systemctl start php-fpm.service

关于启动服务的可以查看http://blog..net/chenxiabinffff/article/details/51374635

5.过程中可能遇到的问题解决

###1、安装libiconv

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar -zxvf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local

make

make install

###2、安装libiconv过程中make出错

cd srclib/

sed -i -e '/gets is a security/d' ./stdio.in.h

cd ../

make

###3、PHP编译时错误:Don’t know how to define struct flock on this system, set --enable-opcache=no

解决方法是:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib/

sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/

(注意,如果是64位的系统,应该软链接到/usr/lib64/目录下。并且,第二个有可能不是libmysqlclient.so.20,最后两位数有可能是其他,根据mysql的版本而变化)

还有一种可能是/usr/local/lib下的库文件没有加载,可如下操作:

vim /etc/ld.so.conf.d/local.conf # 编辑库文件(该文件可能不存在,不存在则创建一个新的)

/usr/local/lib # 添加该行

/usr/local/lib64 # 64位系统的除了添加上一行,还需要添加此行

:wq # 保存退出

ldconfig -v # 使之生效

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值