安裝步驟
PHP官網下載鏈接:https://www.php.net/downloads.php
1. 使用wget命令下載源碼安裝包
wget https://www.php.net/distributions/php-7.3.8.tar.gz --no-check-certificate
【說明】如果報SSL Certification錯誤信息的話,就加上 --no-check-certificate選項,一般不需要添加。
2. 解壓.tar.gz文件
tar -xzvf php-7.3.8.tar.gz
3. 進入php-7.3.8目錄下,執行./configure,即配置和構建PHP
- 查看configure的用法以及配置選項: ./configure -h 或者 --help
- php常用配置及其說明
--prefix=/usr/local/php7 # 配置安裝目錄
--with-config-file-path=/usr/local/php7 # 配置文件 php.ini 的路徑
--enable-sockets # 開啟 socket
--enable-fpm # 啟用 fpm 擴展
--enable-cli # 啟用 命令行模式 (從 php 4.3.0 之后這個模塊默認開啟所以可以不用再加此命令)
--enable-mbstring # 啟用 mbstring 庫
--enable-pcntl # 啟用 pcntl (僅 CLI / CGI)
--enable-soap # 啟用 soap
--enable-opcache # 開啟 opcache 緩存
--disable-fileinfo # 禁用 fileinfo (由於 5.3+ 之后已經不再持續維護了,但默認是開啟的,所以還是禁止了吧)(1G以下內存服務器直接關了吧)
--disable-rpath #禁用在搜索路徑中傳遞其他運行庫。
--with-mysqli # 啟用 mysqli 擴展
--with-pdo-mysql # 啟用 pdo 擴展
--with-iconv-dir # 啟用 XMLRPC-EPI 字符編碼轉換 擴展
--with-openssl # 啟用 openssl 擴展 (需要 openssl openssl-devel)
--with-fpm-user=www #設定 fpm 所屬的用戶
--with-fpm-group=www #設定 fpm 所屬的組別
--with-curl # 啟用 curl 擴展
--with-mhash # 開啟 mhash 基於離散數學原理的不可逆向的php加密方式擴展庫
# GD
--with-gd # 啟用 GD 圖片操作 擴展
--with-jpeg-dir # 開啟對 jpeg 圖片的支持 (需要 libjpeg)
--with-png-dir # 開啟對 png 圖片支持 (需要 libpng)
--with-freetype-dir # 開啟 freetype
# 壓縮
--enable-zip # 啟用 zip
--with-zlib # 啟用對 zlib 支持
# xml
--enable-simplexml # 啟用對 simplexml 支持
--with-libxml-dir # 啟用對 libxml2 支持
#一些不常用的配置
--enable-debug # 開啟 debug 模式
我執行configure的命令如下:
./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7 \
--enable-sockets \
--enable-fpm \
--enable-cli \
--enable-mbstring \
--enable-pcntl \
--enable-soap \
--enable-opcache \
--disable-fileinfo \
--disable-rpath \
--with-mysqli
--with-pdo-mysql \
--with-iconv-dir \
--with-fpm-user=www \
--with-fpm-group=www \
--with-curl=/usr/local/curl \
--with-mhash \
--with-gd=no \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--enable-zip \
--with-zlib \
--enable-simplexml \
--with-libxml-dir \
--with-openssl=/usr/local/openssl
在執行過程中,可能會有報錯。我在執行過程中,遇到了curl和OpenSSL庫的安裝路徑沒有找到,因為不是安裝在/etc/bin和/etc/lib路徑下,所以需要手動設置這兩個庫的安裝路徑:
--with-curl=/usr/local/curl
--with-openssl=/usr/local/openssl
我關閉了GD圖片操作擴展,即:--with-gd=no,如果是:--with-gd ,則表示開啟。
4. 編譯和安裝
make && make install
5. 配置PHP環境變量
(1)vim /etc/profile //需要root權限
(2)在profile文件末尾添加如下內容:
export PATH=$PATH:/usr/local/php7/bin #這一步可以讓我們全局使用php命令
(3) source /etc/profile #讓修改后的profile生效
(4) php -i //查看配置信息
如果第4步的執行成功打印了PHP information的話,表示PHP已經安裝成功了。
## 查看php的用法幫助
$ php -h
## 查看php的版本信息
$ php -v
6. 配置php.ini文件
$ php -i|grep php.ini
Configuration File (php.ini) Path => /usr/local/php7
Loaded Configuration File => /usr/local/php7/php.ini
配置文件在安裝包目錄下: php-7.3.8/
php.ini-development //開發模式版本
php.ini-production //生產模式版本
這里,我們選擇生產模式版本復制到指定路徑下
$ cp php.ini-production /usr/local/php7/php.ini
<注意> php.ini文件所在的目錄一定要與php -i里面查出的位置保持一致,不然修改php.ini文件是不會生效的。
7. 安裝composer
> wget https://getcomposer.org/composer.phar
> cp composer.phar /usr/bin/composer
> cd /usr/bin; chmod u+x composer
> composer -v
如果打印出composer的版本信息,即表示composer安裝成功了。
遇到的問題
【問題】error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
1. 下載證書。https://curl.haxx.se/ca/cacert.pem,存放路徑: /home/lbs/cert/cacert.pem(這個路徑自定義)
2. 修改php.ini配置文件
> cd /usr/local/php7/;ls
> vim php.ini
修改openssl.cafile= /home/lbs/cert/cacert.pem
【參考】
centos7 源碼編譯安裝 php https://www.cnblogs.com/l5gw/p/10992958.html
編譯php7.1.4出現 undefined reference to isfinite https://blog.csdn.net/letshi/article/details/71079677
Linux環境下composer的安裝 https://blog.csdn.net/lifei15731208550/article/details/91039823