在 Ubuntu 系統上編譯 PHP。
如果您想從原始碼編譯 PHP,而不是依賴套件維護者,這裡列出了一些套件和您可以執行的命令。
步驟 1
sudo apt-get install autoconf build-essential curl libtool \\
libssl-dev libcurl4-openssl-dev libxml2-dev libreadline7 \\
libreadline-dev libzip-dev libzip4 nginx openssl \\
pkg-config zlib1g-dev
為了避免覆蓋系統上任何現有的 PHP 安裝,請將 PHP 安裝在您的家目錄中。 建立一個目錄來存放 PHP 二進位檔案。
mkdir -p ~/bin/php7-latest/
步驟 2
# 下載最新的 PHP tarball,解壓縮它,然後 cd 到新的目錄。
步驟 3
設定 PHP。移除您不需要的任何選項(例如 MySQL 或 Postgres (--with-pdo-pgsql))
./configure --prefix=$HOME/bin/php-latest \\
--enable-mysqlnd \\
--with-pdo-mysql \\
--with-pdo-mysql=mysqlnd \\
--with-pdo-pgsql=/usr/bin/pg_config \\
--enable-bcmath \\
--enable-fpm \\
--with-fpm-user=www-data \\
--with-fpm-group=www-data \\
--enable-mbstring \\
--enable-phpdbg \\
--enable-shmop \\
--enable-sockets \\
--enable-sysvmsg \\
--enable-sysvsem \\
--enable-sysvshm \\
--enable-zip \\
--with-libzip=/usr/lib/x86_64-linux-gnu \\
--with-zlib \\
--with-curl \\
--with-pear \\
--with-openssl \\
--enable-pcntl \\
--with-readline
步驟 4
編譯二進位檔案,輸入:make
如果沒有錯誤,輸入:make install 進行安裝
步驟 5
將 PHP.ini 檔案複製到安裝目錄
cp php.ini-development ~/bin/php-latest/lib/
步驟 6
cd ~/bin/php-latest/etc;
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
步驟 7
為您的二進位檔案建立符號連結
cd ~/bin
ln -s php-latest/bin/php php
ln -s php-latest/bin/php-cgi php-cgi
ln -s php-latest/bin/php-config php-config
ln -s php-latest/bin/phpize phpize
ln -s php-latest/bin/phar.phar phar
ln -s php-latest/bin/pear pear
ln -s php-latest/bin/phpdbg phpdbg
ln -s php-latest/sbin/php-fpm php-fpm
步驟 8:將您的本地 PHP 連結到 php 命令。您需要登出然後重新登入,才能將 php 切換到本地版本,而不是已安裝的版本。
# 將此添加到 .bashrc
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
步驟 9:啟動 PHP-FPM
sudo ~/bin/php7/sbin/php-fpm