一直安穩地使用直接下載官方原版的Apache和PHP,也一直慢慢摸索如何繼承配置。結果在今天一個登錄頁面的驗證碼圖片在本地總是刷不出來,查代碼,沒有問題啊!查資料啪啦啪啦一大堆,結果都無功而返,還好耐着性子繼續找解決問題的方法,最後終於找到如下引述的這篇文章,感謝偉大的互聯網和熱心的網友啊。很少說,直接上文章。php
「我下載的Apache版本爲2.2.25,PHP版本爲5.4.19,將Apache與PHP集成配置好後(PHP安裝目錄爲:F:\php5.4.19
),記得PHP默認沒有開啓GD庫的支持,須要自行開啓。因而就打開PHP安裝目錄/php.ini
配置文件,找到以下內容:mysql
;extension=php_gd2.dll
按照網上搜索得來的方法,去掉前面表示註釋的符號";",而後從新啓動Apache服務器,結果發現仍是不行,經過phpinfo()
函數仍然沒法看到任何與GD庫相關的信息。看到網上不少關於「PHP開啓GD庫」的文章,都是直接說一句「去掉xxx前面的分號」,就沒有下文了。事實證實,僅僅這麼作明顯是不行的,至少官方zip版本的php這麼配置是不行的。sql
因而就只好本身檢查php.ini
的配置內容,最後發現其中有以下一行:服務器
;extension_dir = "ext"
很明顯,extension_dir
指令被註釋掉了,致使php連擴展庫的文件夾ext都找不到,天然不可能找到擴展庫中的php_gd2.dll了,gd庫支持天然也沒有開啓。函數
因而,照貓畫虎地去掉extension_dir
指令前面的註釋符號";",再次重啓服務器,結果……仍是不行。這不科學啊,難道extension_dir
指令的值"ext"有問題?ui
PHP官方說,PHP5搜索擴展庫的默認位置爲C:\php5
,因而嘗試着按照官方的說法,仍然讓extension_dir保持被註釋掉的現狀,在C盤下新建了一個php5文件夾,而後將php_gd2.dll複製進去,再次從新啓動服務器,結果……仍是不行。url
此時,經過phpinfo()
函數查看得知,在php.ini
中沒有開啓extension_dir
指令時,phpinfo()
上的extension_dir
顯示的值竟然是C:\php
——難道官方的說明文檔也出錯了,或者說PHP 5.4這個版本已經做了變動、而官方文檔尚未及時更新?其餘的先無論那麼多了,先試試C:\php
行不行,因而將php5重命名爲php,其餘一切照舊,接着從新啓動服務器,而後經過phpinfo()函數查看到gd庫已經開啓了。——這至少證實,在PHP 5.4.19中,擴展庫的默認搜索位置爲C:\php
。spa
固然,衆所周知,extension_dir
指令是支持絕對路徑的,上面折騰半天,主要是爲了搞明白extension_dir
指令的做用與影響。最後仍是將extension_dir
前面的註釋符號";"去掉,而後將其值改成ext文件夾的絕對路徑,詳細代碼以下:調試
extension_dir = "F:/php5.4.19/ext"
綜上所述,對於php官方版而言,要開啓gd庫支持,不只要去掉extension=php_gd2.dll
前的註釋符號,還要去掉extension_dir
指令前的註釋符號,並將其值做對應修改。固然,不單單是gd庫,若是須要開啓其餘PHP擴展庫,例如php_mysql、php_mysqli,方法也是相似的。」code
總結下,調試程序耐心真不是要一點兩點,可是隻要堅信出現問題就必定能解決,總會找到解決的方法,生活是美好的,讓正能量繼續傳遞下去!!!