2

CentOS 6 と PHP 5.3.8 (apache モジュールとして) を実行していますが、これにはコアの一部として JSON が含まれているはずです (私は聞いています)。# php -iコマンド ラインを見ると、[Configure Command] の下に表示され'--enable-json=shared'ます ... 素晴らしいです!

ただし、Web ページの php_info() を見ると、Configure Command が表示されます'--disable-json'

問題ないと思いました。peclを使用してインストールします。

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

成功、それをするなんてとんでもない、と私は思った。ただし、php -m は以下を示します。

PHP 警告: PHP の起動: 動的ライブラリ '/usr/lib64/php/modules/json.so' を読み込めません - /usr/lib64/php/modules/json.so: 未定義のシンボル: ZVAL_DELREF in Unknown on line 0

これがばかげた質問である場合はお詫びしますが、ここで何が起こっているのか知っている人はいますか? JSON が機能し始めるように、これを修正する方法について正しい方向を教えてもらえますか?

どうもありがとう

4

3 に答える 3

4

私は解決策をフォローアップすると思った。PECL のインストールは PHP 5.3.8 と競合しているように見えたので、少し調べてアドバイスをした後、次のアイデアを試してみました。

# yum remove php
# yum install php

ただし、さらなるアドバイスの後、代わりに次のようになりました。

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

これで問題は解決し、JSON が再び機能するようになりました。これが他の誰かに役立つことを願っています。

ありがとう

于 2011-11-18T18:20:46.697 に答える
2

json-1.2.1.tgzPECLからダウンロード

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

ZVAL_DELREF置換先を検索Z_DELREF_P (3 か所で検索できます) ファイルを保存

それで

phpize
./configure
make
make install

json. を取得できますので、忘れずに php.ini に追加してください

于 2012-04-17T08:57:21.937 に答える
1
  1. SSHにログイン
  2. tmp と var/tmp を exec にする

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

  3. いいえ、JSON をインストールしてください

    pecl install json

  4. 最後に、tmp と var/tmp を noexec にします。

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

于 2011-12-13T04:17:13.140 に答える