編譯安裝php

2021-08-30 11:00:05 字數 2510 閱讀 6902

yum安裝php方式

yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
參考:

以上這些包基本上夠用了,如果發現問題再補充,安裝完成之後,執行配置:

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
如果虛擬記憶體不夠則需要後面新增

--disable-fileinfo
實際上這裡的配置項比上述還多,可以使用 ./configure --help 命令檢視所有選項,這裡注意在php7中--with-mysql原生支援已經不存在了,操作都變成mysqli或者pdo了;以上這些選項在正常的php開發中完全夠用了,後期如果需要,可以選擇手動開啟相應的模組

然後執行編譯:

make
編譯時間可能會有點長,編譯完成之後,執行安裝:

make install
php的預設安裝位置上面已經指定為/usr/local/php,接下來配置相應的檔案:

cp php.ini-development /usr/local/php/lib/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

ln -s /usr/local/php/sbin/php-fpm /usr/local/bin

然後設定php.ini,使用: vim /usr/local/php/lib/php.ini 開啟php配置檔案找到cgi.fix_pathinfo配置項,這一項預設被注釋並且值為1,根據官方文件的說明,這裡為了當檔案不存在時,阻止nginx將請求傳送到後端的php-fpm模組,從而避免惡意指令碼注入的攻擊,所以此項應該去掉注釋並設定為0

設定完畢儲存並退出

然後複製乙份配置檔案

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

# cp www.conf.default www.conf

# /usr/local/php/sbin/php-fpm -t

[12-oct-2017 08:33:29] notice: configuration file /usr/local/php/etc/php-fpm.conf test is successful

[root@localhost php-fpm.d]# service php-fpm start

starting php-fpm  done

修改完成之後,儲存並退出,然後執行以下命令啟動php-fpm服務:

/usr/local/bin/php-fpm
啟動完畢之後,php-fpm服務預設使用9000埠,使用 netstat -ntlp | grep 9000 可以檢視埠使用情況:

9000埠正常使用,說明php-fpm服務啟動成功

把php可執行檔案移動到bin目錄下

cp /usr/local/php/bin/php   /usr/bin/php

PHP 編譯安裝PHP

1.安裝php所有的依賴軟體包 root web01 yum install zlib devel libxml2 devel libjpeg devel freetype devel libpng devel gd devel libcurl devel libxslt devel openssl...

PHP編譯安裝

錯誤1configure error xml2 config not found.please check your libxml2 installation.解決方案 yum install y libxml2 devel錯誤2 configure error cannot find openss...

編譯安裝PHP

2 確保安裝之前有安裝gd,png,curl,xml等等lib開發庫。如果不確定,執行以下命令 yum install gcc make gd devel libjpeg devel libpng devel libxml2 devel bzip2 devel libcurl devel y 3 編...