首頁  >  文章  >  後端開發  >  分享編譯php原始碼錯誤集與解決方案

分享編譯php原始碼錯誤集與解決方案

藏色散人
藏色散人轉載
2021-03-26 17:54:163522瀏覽

分享編譯php原始碼錯誤集與解決方案

編譯php原始碼錯誤集與解決

#開始

伺服器Ubuntu14.04已後lamp開發環境,卻還是沒有不能順利編譯php源碼,在此整理編譯過程。

取得原始碼與編譯

確保已安裝了gitsudo apt-get install git -y,因為這可以看到PHP每次修改的內容及日誌訊息和跟進作者的更新。

git clone https://github.com/php/php-src.git
cd php-src
sudo apt-get install build-essential
./buildconf
./configure --disable-all # 为了尽快得到可以测试的环境,我们仅编译一个最精简的PHP
make
./sapi/cli/php -v

-v參數表示輸出版本號,如果指令執行完後看到輸出php版本資訊則表示編譯成功。

分享編譯php原始碼錯誤集與解決方案

錯誤集

錯誤

configure: error: xml2-config not found. Please check your libxml2 installation.

解決
apt-get install libxml2-dev

#錯誤

/usr/bin/mysql_config: No such file or directory

解決
apt-get install mysql-server mysql-client libmysqlclient-dev

##錯誤

Warning: Declaration of PEAR_Installer::download() should be compatible with & PEAR_Downloader::download($params) in phar:///root/php7/php-src/pear/install-pear-nozlib.phar/PEAR/Installer.php on line 43

Warning: Declaration of PEAR_PackageFile_Parser_v2::parse() should be compatible with PEAR_XMLParser::parse($data) in phar:///root/php7/php-src/pear/install-pear-nozlib.phar/PEAR/PackageFile/Parser/v2.php on line 113
[PEAR] Archive_Tar - installed: 1.3.13
[PEAR] Console_Getopt - installed: 1.3.1
[PEAR] Structures_Graph- installed: 1.0.4

Warning: Declaration of PEAR_Task_Replace::init() should be compatible with PEAR_Task_Common::init($xml, $fileAttributes, $lastVersion) in phar:///root/php7/php-src/pear/install-pear-nozlib.phar/PEAR/Task/Replace.php on line 31
[PEAR] XML_Util - installed: 1.2.3

Warning: Declaration of PEAR_Task_Windowseol::init() should be compatible with PEAR_Task_Common::init($xml, $fileAttributes, $lastVersion) in phar:///root/php7/php-src/pear/install-pear-nozlib.phar/PEAR/Task/Windowseol.php on line 76

Warning: Declaration of PEAR_Task_Unixeol::init() should be compatible with PEAR_Task_Common::init($xml, $fileAttributes, $lastVersion) in phar:///root/php7/php-src/pear/install-pear-nozlib.phar/PEAR/Task/Unixeol.php on line 76
[PEAR] PEAR - installed: 1.9.5
Wrote PEAR system config file at: /root/php7/usr/etc/pear.conf
解決

`You may want to add: /root/php7/usr/lib/php to your php.ini include_path
/root/php7/php-src/build/shtool install -c ext/phar/phar. phar /root/php7/usr/bin`

錯誤

configure: WARNING: unrecognized options: --with-mysql
錯誤

checking for bison version... invalid
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: none, min: 204, excluded: ).
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
configure: error: bison is required to build PHP/Zend when building a GIT checkout!
解決


apt-get install bison

#錯誤

configure: error: Cannot find OpenSSL's
解決


apt-get install libssl-dev

錯誤

configure: error: Cannot find OpenSSL's libraries
解決


#apt -get install libssl-dev

錯誤

checking for BZip2 in default path… not found
configure: error: Please reinstall the BZip2 distribution
解決


apt-get install libbz2-dev

#錯誤

configure: error: Please reinstall the libcurl distribution –
easy.h should be in /include/curl/
解決


apt-get install libcurl4-openssl-dev

錯誤

If configure fails try --with-vpx-dir=
configure: error: jpeglib.h not found.
解決


#apt-get install libjpeg- dev

錯誤

configure: error: png.h not found.
解決


apt-get install libpng12-dev

錯誤

configure: error: freetype-config not found.
解決


apt-get install libfreetype6-dev

錯誤

configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解決


apt-get install libmcrypt-dev

錯誤

configure: error: Cannot find pspell
解決


apt-get install libpspell-dev

錯誤

PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
解決


#pear install pear/PHP_Archive

錯誤

checking for recode support... yes
configure: error: Can not find recode.h anywhere under /usr /usr/local /usr /opt.
解決


apt-get install librecode-dev

#推薦學習:《

PHP影片教學

#

以上是分享編譯php原始碼錯誤集與解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除