正好今天朋友 xjb 也碰到了這個問題,所以寫了這篇筆記,將此問題的描述以及解決記錄下。
問題描述:用web 方式, 可以連結mysql, 但是在命令列下, 卻提示:
Fatal Error: undefined function mysql_connect()
環境: Windows 2003, PHP 5. Apache 2.0
在php.ini 中, 已經將php_mysql.dll 的模組選項給打開了;測試的腳本也很簡單,就一個mysql_conect 函數,內容如下:
複製程式碼
程式碼如下:
php.ini:
extension=php_mysql.dll
測試腳本test.php 內容如下:
if ( !mysql_connect(DBHOST, DBUSER,DBPWD) )
{
echo "連線失敗!";
exit;
}
echo "連線成功! t";
?>
複製程式碼 程式碼如下:
echo phpinfo();
?>
Web 方式http://localhost/test.php 方式呼叫時, 其Configuration File (php.ini) Path 顯示為C :WINDOWSphp.ini。
DOS COMMAND 命令列方式 d:/php/php.exe test.php 呼叫時, 其 Configuration File (php.ini) Path 為 d:phpphp.ini。而在 c:windows 和 d:php 目錄下, 都存在一個 php.ini 文件,d:php 目錄下的 php.ini 沒有將 extension=php_mysql.dll 模組打開.於是將 d:phpphp.ini 刪除,只保留 c:windowsphp.ini,問題解決.
總結:在windows 下安裝php 時, 為了避免設定檔混亂,將安裝目錄下的php.ini 複製到windows 目錄下之後,應該將原來安裝目錄下的php.ini 檔案重新命名或刪除,以免造成在不同環境下執行時,查找設定檔不一致的情況發生。問題發生的原因一般都是非常非常簡單,但找出、排除問題的過程,卻是相當的煩人。 以上就介紹了dos常用指令 解決PHP在DOS命令列下卻無法連結MySQL的技術筆記,包括了dos常用指令方面的內容,希望對PHP教學有興趣的朋友有所幫助。