想法:多數網站代管服務提供者都會對環境多所限制,那…我們要怎麼知道主機是否支援 WordPress 所需要的環境呢?
問題:WordPress 使用 PHP 哪些函式?而這些函式有哪些被主機商設定不能使用?
做法:首先要查出 WordPress 使用哪些 PHP,Kirin 是看到 Owen Winkler 架了一個網站叫做 xref.redalt.com。該網站使用 PHPXref 這個文件產生器將 WordPress 的程式碼解析整理,把 WordPress 所使用的 PHP 函式都列了出來呢! *大心*
Kirin 查到這則訊息:「PHP functions used on the site: 249」,並且下面有函式清單。
有了這清單就好辦,簡單寫個 PHP 檔案,將所有函式使用 function_exists() 這個函式檢查一下即可。
接著丟上主機去跑,URL 的主機上看到結果是:
- Check PHP Function: curl_close():FALSE
- Check PHP Function: curl_errno():FALSE
- Check PHP Function: curl_error():FALSE
- Check PHP Function: curl_exec():FALSE
- Check PHP Function: curl_init():FALSE
- Check PHP Function: curl_setopt():FALSE
- Check PHP Function: exec():FALSE
- Check PHP Function: http_build_query():FALSE
- Check PHP Function: ngettext():FALSE
- Check PHP Function: pspell_check():FALSE
- Check PHP Function: pspell_new():FALSE
- Check PHP Function: pspell_suggest():FALSE
- Check PHP Function: shell_exec():FALSE
哇賽!這麼多函式不支援怎麼辦?不需要擔心,WordPress 都幫我們想到主機商的許多限制。CURL 大多數主機商都不提供,WordPress 不需要 CURL 還是可以跑的好好滴~至於 ngettext(),WordPress 有自行定義該函式,並非使用原來的函式。而其他函式呢?則不需要擔心,有許多是 TinyMCE 編輯器內建的功能,平常再寫文章的時候是看不到也用不到像拼字檢查這種功能。
總而言之,基本的 WordPress 在 URL 提供的主機上可以跑得很好,而且 Kirin 是拿最新的 2.1 版程式碼下去測的歐~