ubantu 怎麼編譯安裝php7

2022-01-20 10:00:06

ubuntu編譯安裝php7的方法:1、下載PHP7.4的原始碼到Ubuntu上;2、安裝PHP需要的依賴;3、設定PHP安裝引數;4、通過「sudo make install」執行編譯安裝即可。

本文操作環境:Ubuntu 18.04系統、PHP7.4版、DELL G3電腦

安裝環境:作業系統:Ubuntu 18.04 PHP版本: PHP 7.4 Web伺服器:Nginx 1.17.4

ubantu 怎麼編譯安裝php7?

Ubuntu編譯安裝PHP7.4

資料庫:Mariadb 10.0.38(MySQL的一個分支,與MySQL相容)

安裝之前

按照慣例更新軟體列表:

sudo apt-get update

安裝PHP7.4

下載PHP 7.4的原始碼到Ubuntu上:

`wget https://www.php.net/distributions/php-7.4.0.tar.gz`

如果下載速度太慢,可以使用PHP 7.4國內高速下載地址:

wget https://gz-1257226027.cos.ap-guangzhou.myqcloud.com/php-7.4.0.tar.gz

解壓,進入php7.4原始碼目錄:

tar zxvf php-7.4.0.tar.gz
cd php-7.4.0/

先安裝PHP需要的依賴

sudo apt-get install libzip-dev bison autoconf build-essential pkg-config git-core\
   libltdl-dev libbz2-dev libxml2-dev libxslt1-dev libssl-dev libicu-dev libpspell-dev\
   libenchant-dev libmcrypt-dev libpng-dev libjpeg8-dev libfreetype6-dev libmysqlclient-dev\
   libreadline-dev libcurl4-openssl-dev librecode-dev libsqlite3-dev libonig-dev

設定PHP安裝引數

./configure --prefix=/usr/local/php7 --with-config-file-scan-dir=/usr/local/php7/etc/php.d --with-config-file-path=/usr/local/php7/etc --enable-mbstring --enable-zip --enable-bcmath --enable-pcntl --enable-ftp --enable-xml --enable-shmop --enable-soap --enable-intl --with-openssl --enable-exif --enable-calendar --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-opcache --enable-fpm --enable-session --enable-sockets --enable-mbregex --enable-wddx --with-curl --with-iconv --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --with-openssl --with-pdo-mysql=mysqlnd --with-gettext=/usr --with-zlib=/usr --with-bz2=/usr --with-recode=/usr --with-xmlrpc --with-mysqli=mysqlnd

執行編譯安裝

sudo make install

如果編譯過程中提示記憶體不足:

virtual memory exhausted: Cannot allocate memory
Makefile:921: recipe for target ‘ext/fileinfo/libmagic/apprentice.lo’ failed
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1

請先給伺服器新增虛擬記憶體,參考: 為Linux新增虛擬記憶體Swap。

複製組態檔

sudo cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
sudo cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
sudo cp php.ini-production /usr/local/php7/etc/php.ini

新增環境變數,編輯 /etc/profile,檔案末尾新增一行:

PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH

使環境變數生效:

source /etc/profile

將php新增到sudo環境變數,編輯 /etc/sudoers檔案中的 Defaults secure_path,後面加上PHP路徑:

/usr/local/php7/bin:/usr/local/php7/sbin:

啟動php-fpm

sudo php-fpm

如果提示找不到使用者組nobody的gid:

[15-Nov-2019 15:53:49] ERROR: [pool www] cannot get gid for group ‘nobody’
[15-Nov-2019 15:53:49] ERROR: FPM initialization failed

就要先建立nobody使用者組:

sudo groupadd nobody

再重新執行sudo php-fpm即可啟動。

使用php -v命令檢視php版本:

 php -v
PHP 7.4.0 (cli) (built: Nov 28 2019 13:38:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

推薦學習:《》

以上就是ubantu 怎麼編譯安裝php7的詳細內容,更多請關注TW511.COM其它相關文章!