編碼的世界 / 優質文選 / 文明

centos源碼安裝php7.1.1


2022年7月01日
-   

安裝好了Apache和mariadb,我的lamp系統就差最後一個p—–php了.
安裝准備
依賴包的安裝: php需要php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel 這些依賴,還是用yum安裝
yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel

准備php源碼包:下載地址http://cn2.php.net/distributions/php-7.1.1.tar.gz 這是其他版本下載地址 使用wget下載
wget http://cn2.php.net/distributions/php-7.1.1.tar.gz

或者在桌面環境下載好再上傳到服務器. 創建php安裝目錄
mkdir /usr/local/php71

開始安裝
tar -xf php-7.1.1.tar.gz #解壓源碼包
cd php-7.1.1 #進入源碼包目錄
./configure prefix=/usr/local/php71/ with-apxs2=/usr/local/apache24/bin/apxs enable-mbstring with-curl with-gd enable-fpm enable-mysqlnd with-pdo-mysql=mysqlnd with-config-file-path=/usr/local/php71/etc/ with-mysqli=mysqlnd #配置編譯參數

  • –prefix 安裝目錄
  • –with-apxs2 apache文件所在目錄
  • –enable-mbstring 支持mbstring
  • –with-curl 支持curl
  • –with-gd 支持gd
  • –enable-fpm 支持fpm
  • –enable-mysqlnd –with-pdo-mysql pdo支持
  • –config-file-path php配置文件搜索目錄
    編譯安裝

make && make install

等待時間比較長.. 在源碼包中有兩個配置文件—— php.ini-development(用於開發環境)和php.ini-production(用於生產環境) ,這裏我使用開發環境,把他拷貝到指定目錄(上面–config-file-path指定的目錄)更名為php.ini
cp php.ini-development /usr/local/php71/etc/php.ini

有需要還可以對php.ini文件進行修改.
對Apache配置文件httpd.conf進行修改添加以下內容對 php文件進行處理
Addtype application/x-httpd-php .php

重啟Apache服務器
systemctl restart httpd

下面我們可以在網頁目錄下創建一個test.php文件裏面的內容為:<?php phpinfo(); ?>
echo "<?php phpinfo(); ?>" >>/data/web/test.php #輸出測試文件到網頁根目錄

就說明安裝成功了
安裝擴展
當安裝完成後我們要安裝擴展時就要重新編譯xxxxxx.so的擴展文件 這裏我以安裝openssl擴展為例子:
還是先安裝依賴openssl和openssl-devel…
yum -y install openssl openssl-devel

在源碼包的 ext目錄下著許多的文件夾他們都是php擴展openssl也在其中,進入到openssl文件夾
cd ext/openssl

ls查看目錄的文件如果有 config0.m4 文件則把他拷貝為 config.m4 保證在openssl目錄下有 config.m4文件
ls #查看當前目錄的內容
cp config0.m4 config.m4 #拷貝 config0.m4為 config.m4

調用我們編譯好的 phpize 它在php安裝目錄下的bin目錄中
/usr/local/php71/bin/phpize

這時會生成很多文件我們可以用ls查看 其中有我們編譯需要的configure文件表
編譯安裝
./configure with-php-config=/usr/local/php71/bin/php-config
make && make install

這是在php的擴展目錄(默認為php安裝目錄下的lib/php/extensions/no-debug-zts-xxx目錄,我的是/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012)會有相應的.so文件也就是openssl.so,在php.ini文件裏面加上該擴展
編輯php.in
vim /usr/local/php71/etc/php.ini

加上以下內容
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/openssl.so

重啟Apache
systemctl restart httpd


完成安裝

熱門文章