在 PHP53 中載入 JSON:第 0 行未知中的 ZVAL_DELREF
我正在嘗試將 JSON 載入到 CentOS 伺服器上新安裝的 PHP5.3.1 中。以前有一個 PHP5.1 或附近,由於 WordPress 的最新版本,我不得不升級 PHP。
我嘗試通過yum安裝 JSON :
yum install php-pecl-json
但我得到一個“php53-common 與 php-common 衝突”。使用**–skip-broken**也不起作用。
我已經手動嘗試過,並通過 PEAR 獲得了 JSON 包:
pear install pecl/json
在這個新版本的 PHP 中損壞的某些函式出現一些錯誤之後,我仍然在php -v上收到以下錯誤:
# php -v PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/json.so' - /usr/lib64/php/modules/json.so: undefined symbol: ZVAL_DELREF in Unknown on line 0 PHP 5.3.3 (cli) (built: Mar 30 2011 13:51:54)
之後,我手動安裝了 JSON,進入文件夾並在**./configure、make 和 make install之前進行了phpize**。我還將 json.so 複製到 /usr/lib64/php/modules。到目前為止沒有任何工作。
/etc/php.d 中的json.ini聲明:
extension = json.so
我確實用 /usr/lib64/php/modules/json.so 替換了“extension =”中的 json.so。並且還將“/usr/lib64/php/modules”作為extension_dir輸入/etc/php.ini。
沒運氣。任何人都可以幫忙嗎?
謝謝你。
更新:
# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.mirror.lstn.net * epel: fedora-epel.mirror.lstn.net * extras: centos-distro.cavecreek.net * rpmforge: fr2.rpmfind.net * updates: mirrors.serveraxis.net base | 2.1 kB 00:00 epel | 3.7 kB 00:00 extras | 2.1 kB 00:00 rpmforge | 1.1 kB 00:00 updates | 1.9 kB 00:00 repo id repo name status base CentOS-5 - Base enabled: 3,535 epel Extra Packages for Enterprise Linux 5 - x86_64 enabled: 6,543 extras CentOS-5 - Extras enabled: 299 rpmforge RHEL 5 - RPMforge.net - dag enabled: 10,691 updates CentOS-5 - Updates enabled: 765 repolist: 21,833
更新 2:JSON 已經包含在 php-common 中,因此當從 REMI 儲存庫安裝 PHP 時,例如,版本 5.3.6,您已經安裝了 JSON。
似乎在那之後,嘗試通過pecl install json或手動安裝 JSON 將輸出我上面所說的錯誤。
謝謝你。
但我得到一個“php53-common 與 php-common 衝突”。使用 –skip-broken 也不起作用。
請給我們輸出
yum repolist
?“沒有運氣”意味著通過安裝時仍然出現相同的錯誤
pear
?之後,我手動安裝了 JSON,進入文件夾並在 ./configure、make 和 make install 之前進行了 phpize。我還將 json.so 複製到 /usr/lib64/php/modules
make install
會/usr/lib64/php/modules
自動複製副檔名,不需要手動複製。還要查看創建時間以確保您載入了正確的擴展程序。之後不要忘記重新載入(重新啟動)Apache。