在不重新編譯整個 PHP 的情況下,利用 phpize 動態編譯擴展模組(如 mysqli、redis、swoole 等)是常見運維操作。但執行 phpize 時常遇到以下錯誤:
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
phpize 依賴 autoconf 工具生成 configure 腳本。系統若未安裝 autoconf 套件,或其路徑不在 PATH 中,即會報此錯誤。
[vagrant@rs-1 mysqli]$ sudo yum install autoconf注意:原文誤寫為
autoconfig,正確套件名為 autoconf。[vagrant@rs-1 mysqli]$ autoconf --version autoconf (GNU Autoconf) 2.69 ...
[vagrant@rs-1 mysqli]$ phpize Configuring for: PHP Api Version: 20121113 Zend Module Api No: 20121212 Zend Extension Api No: 220121212 # 無錯誤輸出,表示成功
sudo apt-get update && sudo apt-get install autoconf
autoconf 是否在 PATH 中:which autoconfexport PHP_AUTOCONF=/usr/bin/autoconfphpize 版本與 PHP 版本對應(使用 which phpize)cd /path/to/php-src/ext/mysqli phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && sudo make install # 將 extension=mysqli.so 加入 php.ini,重啟 PHP-FPM/Apache
Cannot find autoconf 錯誤本質是構建工具鏈缺失。安裝 autoconf(而非 autoconfig)即可快速解決。掌握 phpize 動態編譯擴展技能,能極大提升 PHP 環境維護靈活性,避免頻繁重編譯主程式。