php無法開啟gd函式庫的解決方法:1、找到並開啟php.ini設定檔;2、將「extension_dir」前面的註解符號「;」去掉;3、將其值改為ext文件夾的絕對路徑即可。
本教學操作環境:Windows7系統、PHP8.1版、Dell G3電腦。
php無法開啟gd 函式庫怎麼辦?
解決PHP開啟gd函式庫無效的問題
最近需要重新安裝PHP,以前一直使用的都是XAMPP,基本上都不需要自己配置,現在準備直接下載官方原版的Apache和PHP,自己慢慢摸索如何繼承配置。
我下載的Apache版本為2.2.25,PHP版本為5.4.19,將Apache與PHP整合配置好後(PHP安裝目錄為:F:\php5.4.19),記得PHP預設沒有開啟GD庫的支持,需自行開啟。於是就打開PHP安裝目錄/php.ini設定文件,找到如下內容:
;extension=php_gd2.dll
依照網路搜尋得來的方法,去掉前面表示註解的符號";",然後重新啟動Apache伺服器,結果發現還是不行,透過phpinfo()函數仍然無法看到任何與GD函式庫相關的資訊。看到網路上很多關於「PHP開啟GD庫」的文章,都是直接說一句「去掉xxx前面的分號」,就沒有下文了。事實證明,光是這麼做明顯是不行的,至少官方zip版的php這麼配置是不行的。
於是就必須自己檢查php.ini的設定內容,最後發現其中有以下一行:
;extension_dir = "ext"
很明顯,extension_dir指令被註解掉了,導致php連擴充庫的資料夾ext都找不到,自然不可能找到擴充函式庫中的php_gd2.dll了,gd函式庫支援自然也沒有開啟。
於是,照貓畫虎地去掉extension_dir指令前面的註解符號";",再重新啟動伺服器,結果…還是不行。這不科學啊,難道extension_dir指令的值"ext"有問題?
PHP官方說,PHP5搜尋擴充庫的預設位置為C:\php5,於是嘗試著按照官方的說法,仍然讓extension_dir保持被註解掉的現狀,在C盤下新建了一個php5文件夾,然後將php_gd2.dll複製進去,再次重新啟動伺服器,結果…還是不行。
此時,透過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。
當然,眾所周知,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,方法也是類似的。
推薦學習:《PHP影片教學》
以上是php無法開啟gd 函式庫怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!