Назад | Перейти на главную страницу

Загрузка JSON в PHP53: ZVAL_DELREF в Unknown в строке 0

Я пытаюсь загрузить JSON в недавно установленный PHP5.3.1 на сервере CentOS. Раньше был PHP5.1 или близкий к нему, и из-за последней версии WordPress мне пришлось обновить PHP.

Я пытался установить JSON через ням с участием:

    yum install php-pecl-json

Но я получаю сообщение «php53-common конфликтует с php-common». С участием - пропустить-сломанный тоже не работает.

Я пробовал вручную и получил пакет JSON через PEAR:

 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 вручную, вошел в папку и сделал phpize до ./configure, сделать и сделать установку. Я также скопировал json.so в / usr / lib64 / php / modules. Пока ничего не работает.

В json.ini в /etc/php.d говорится:

extension = json.so

Я заменил json.so с "extension =" на /usr/lib64/php/modules/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, поэтому при установке PHP из репозитория REMI, например, версии 5.3.6, у вас уже будет установлен JSON.

Похоже, что после этого, пытаясь установить JSON через pecl установить json или вручную выведет указанную выше ошибку.

Спасибо.

Но я получаю сообщение «php53-common конфликтует с php-common». С --skip-broken тоже не работает.

Пожалуйста, предоставьте нам результат yum repolist?

"Не повезло" означает, что при установке через pear?

После этого я установил JSON вручную, вошел в папку и выполнил phpize до ./configure, make и make install. Я также скопировал json.so в / usr / lib64 / php / modules

make install скопирует расширение в /usr/lib64/php/modules автоматически, нет необходимости копировать вручную.

Также посмотрите на созданное время, чтобы убедиться, что вы загрузили правильное расширение. Не забудьте после этого перезагрузить (перезапустить) Apache.