编译 PHP7.0为什么那么慢,CentOS 7编译安装php7.0.7以及可能遇到的问题的解决方案...
#CentOS 7編譯安裝php7.0.7
下載并解壓php
編譯安裝
修改配置文件
啟動(dòng)服務(wù)
過(guò)程中可能遇到的問(wèn)題解決
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、對(duì)即將安裝的軟件進(jìn)行配置,檢查當(dāng)前的環(huán)境是否滿足要安裝軟件的依賴關(guān)系
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
以上部分配置說(shuō)明:
–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、編譯(必須在以上操作沒(méi)有出錯(cuò)再進(jìn)行)
make
###4、安裝
make install
3.修改配置文件
###1、配置php-fpm.conf(php-fpm 進(jìn)程服務(wù)的配置文件)
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
#修改
pid = tmp/php-fpm.pid(啟動(dòng)時(shí)如果報(bào)錯(cuò)可能需要手動(dòng)創(chuàng)建tmp文件夾)
###2、配置www.conf(php-fpm 進(jìn)程服務(wù)的擴(kuò)展配置文件)
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
vim www.conf
#設(shè)置用戶和用戶組為www
user = www
group = www
#如果沒(méi)有對(duì)應(yīng)用戶組,需先創(chuàng)建(已經(jīng)存在則忽略)
groupadd (用戶組)
useradd -g (用戶組) (用戶)
###3、從下載php解壓文件夾復(fù)制php.ini-development到/usr/local/php/etc下,并改名為php.ini
###4、php快捷方式,在/usr/local/bin創(chuàng)建軟鏈接php/bin和php/sbin
cd /usr/local/bin/
ln -s /usr/local/php/bin/* .
ln -s /usr/local/php/sbin/* .
4.啟動(dòng)服務(wù)
###1、創(chuàng)建服務(wù)啟動(dòng)腳本
cd /usr/lib/systemd/system
vim php-fpm.service
#輸入以下內(nèi)容
[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、啟動(dòng)服務(wù)
systemctl start php-fpm.service
關(guān)于啟動(dòng)服務(wù)的可以查看http://blog..net/chenxiabinffff/article/details/51374635
5.過(guò)程中可能遇到的問(wèn)題解決
###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過(guò)程中make出錯(cuò)
cd srclib/
sed -i -e '/gets is a security/d' ./stdio.in.h
cd ../
make
###3、PHP編譯時(shí)錯(cuò)誤: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位的系統(tǒng),應(yīng)該軟鏈接到/usr/lib64/目錄下。并且,第二個(gè)有可能不是libmysqlclient.so.20,最后兩位數(shù)有可能是其他,根據(jù)mysql的版本而變化)
還有一種可能是/usr/local/lib下的庫(kù)文件沒(méi)有加載,可如下操作:
vim /etc/ld.so.conf.d/local.conf # 編輯庫(kù)文件(該文件可能不存在,不存在則創(chuàng)建一個(gè)新的)
/usr/local/lib # 添加該行
/usr/local/lib64 # 64位系統(tǒng)的除了添加上一行,還需要添加此行
:wq # 保存退出
ldconfig -v # 使之生效
總結(jié)
以上是生活随笔為你收集整理的编译 PHP7.0为什么那么慢,CentOS 7编译安装php7.0.7以及可能遇到的问题的解决方案...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 雷军发文让大家建议小米怎么升级下一代 网
- 下一篇: java hive 查询语句,使用jav