PHP 5.3.8, JSON & CentOS 6

元气小坏坏 提交于 2019-12-12 09:00:46

问题


We're running CentOS 6 and PHP 5.3.8 (as an apache module) which should have JSON as part of it's core (I'm told). Looking at # php -i on the command line I can see under Configure Command '--enable-json=shared' ... great!

However, looking at php_info() on a web page Configure Command shows '--disable-json'.

No problem I thought, I'll just install it using pecl:

# yum update php
# yum install php-pear
# yum install gcc
# pecl install json
# service httpd restart

Success, that aught to do it I thought. However php -m shows:

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

Apologies if this is a silly question but does anyone know what's going on here and could you point me in the right direction on how to fix this so that JSON starts working?

Many thanks


回答1:


Thought I'd follow up with the solution. The PECL installation seemed to conflict with PHP 5.3.8 so after a bit of research and some advice I toyed with the idea of:

# yum remove php
# yum install php

However, after further advice instead went with:

# yumdownloader php-common
# rpm -Uvh --force php-common*.rpm
# service httpd reload
# rm php-common*.rpm

This did the trick and JSON is now working again. Hope this helps someone else.

Thanks




回答2:


download json-1.2.1.tgz FROM PECL

enter code heretar zxvf json-1.2.1.tgz
cd json-1.2.1
vi JSON_parser.c

Find ZVAL_DELREF replace to Z_DELREF_P (You can Find in 3 place) And Save file

Then

phpize
./configure
make
make install

You can get your json.so don't forget add to php.ini




回答3:


  1. Login to SSH
  2. Make tmp and var/tmp exec

    mount -v -o remount,exec /tmp
    mount -v -o remount,exec /var/tmp

  3. No go ahead and install JSON

    pecl install json

  4. And finally, make tmp and var/tmp noexec again

    mount -v -o remount,noexec /tmp
    mount -v -o remount,noexec /var/tmp



来源:https://stackoverflow.com/questions/7979864/php-5-3-8-json-centos-6

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!