編譯 pdo_mysql 擴展時出現 make: *** [pdo_mysql.lo] Error 1,核心原因是編譯器找不到 MySQL 客戶端開發庫(Header 檔與 Library)。
假設 MySQL 安裝於 /usr/local/mysql:
ln -s /usr/local/mysql/include/* /usr/local/include/
若 MySQL 安裝於其他路徑(如 /usr/local/server/mysql):
ln -s /usr/local/server/mysql/include/* /usr/local/include/
yum install mysql-develapt-get install libmysqlclient-devmysql_config 可用:which mysql_configpdo_mysql:cd /path/to/php/ext/pdo_mysql
phpize
./configure --with-pdo-mysql=/usr/local/mysql
make clean && make && make install
php -m | grep pdo_mysql
# 或查看 phpinfo() 輸出
原理: PHP 編譯擴展時透過
mysql_config尋找 include/lib 路徑;軟連結將 MySQL headers 映射到系統標準搜尋路徑/usr/local/include,讓編譯器直接找到mysql.h等關鍵檔案。