json scheinen aktivieren, aber kann nicht ausgeführt werden, die Funktionen json_encode
Meine PHP-version 5.1.6
Ich habe Json installieren, indem Sie den Anweisungen Folgen:
# yum install php-devel
# yum install php-pear
# yum install gcc
# pear install json
# cd /etc/php.d
# echo "extension=json.so" > json.ini
# service httpd restart
Nun, ob ich das Json aktiviert, aber ich kann nicht ausgeführt werden, die Funktionen json_encode:
Check 1:
[root@69-64-69-43 ~]# php -i | grep json
Ergebnis 1:
/etc/php.d/json.ini,
json
json support => enabled
json version => 1.2.1
Check 2:
[root@69-64-69-43 ~]# php -r 'var_dump(function_exists("json_encode"));'
Ergebnis 2:
bool(true)
Aber bei der Ausführung:
Fatal error: Call to undefined function json_encode() in /var/www/vhosts/ykite.com/httpdocs/fre/json.php on line 8
Hier wird ausgeführt, link:
Überprüfen Sie Json: http://69.64.69.43/fre/json.php
php_info(): http://69.64.69.43/fre/info.php
War ich wirklich suchen und Lesen Sie viele Dokumente, aber ich kann die Ursache nicht finden, in diesem Fall.
Ich bin aufrichtig dankbar für Ihre Hilfe.
Cuong
Geprüft phpinfo() zu sehen, wenn die Erweiterung aktiviert ist?
Ich meine phpinfo(): 69.64.69.43/fre/info.php, json geladen.ini, aber sehe keine andere Referenz
Ich meine phpinfo(): 69.64.69.43/fre/info.php, json geladen.ini, aber sehe keine andere Referenz
InformationsquelleAutor Cuong Pham | 2012-05-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihr
var_dump( function_exists( 'json_encode' ) )
gibt true zurück, während Ihre HTTP-Anforderung sagt, die Funktion existiert nicht; es gibt nur eine Erklärung, die ich denken kann: - CLI und HTTP-Anforderungen verwenden Sie eine andere php.ini. In Ihremphpinfo( )
Dokument, es sagt, dass es das laden von json.ini, aber ich sehe keine andere Referenz zu JSON.Prüfen Sie Ihre Protokolle, um festzustellen, ob oder nicht, json.so wird tatsächlich geladen, auf eine HTTP-Anforderung. Meine Wette ist, dass es nicht so ist.
Ich fand in der log-Datei: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/json.so' - /usr/lib64/php/modules/json.also: nicht öffnen können shared object-Datei: Permission denied in Unknown on line 0
Überprüfen Sie die Benutzer und Gruppe von json.so, und prüfen Sie, ob oder nicht der PHP-Benutzer ausführen können.
[root@69-64-69-43 ~]# ls -l /usr/lib64/php/modules/json.so -rwxr-xr-x 1 root root 92886 1 Mai-23:58 /usr/lib64/php/modules/json.so [root@69-64-69-43 ~]# ls -l /usr/lib64/php/modules/mysql.so -rwxr-xr-x 1 root root 53008 Feb 22 17:30 /usr/lib64/php/modules/mysql.so
Ich fand die Antwort für diesen Fall. Ich werde Lesen Sie mehr über SELinux. Diese Leitlinien haben mir geholfen, zu ermöglichen, die Funktionen json_encode für http-request: centos.org/modules/newbb/viewtopic.php?topic_id=27117 Einfach deaktivieren von SELinux, oder ändern Sie ihn mit dem Befehl: chcon system_u:object_r:textrel_shlib_t /usr/lib64/php/modules/json.so Sloved & vielen Dank.
InformationsquelleAutor Berry Langerak
Vom Let ' s Install JSON für PHP 5
Aus deiner phpinfo Seite: Configuration File (php.ini) Path:
/etc/php.ini
Versuchen Sieextension= /usr/lib64/php/modules/json.so
.ini-Datei, um es zu testenScheint nicht zu funktionieren. Ich bekomme diese Fehlermeldung: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules//usr/lib64/php/modules/json.so' - /usr/lib64/php/modules//usr/lib64/php/modules/json.so: cannot open shared object file: No such file or directory in Unknown on line 0
Okay tut mir Leid, es scheint, dass der Pfad automatisch Hinzugefügt. Dann schreiben Sie einfach
extension=json.so
Nicht wie wir denken: PHP Warning: Module 'json' bereits geladen in Unknown on line 0
InformationsquelleAutor Dan Lee
Zugegeben, das ist ein altes Thema, aber vielleicht hat jemand stolpern über diesen, wie ich im August 2015. Ich behoben, indem Sie den Servererweiterungen-Ordner-Pfad in php.ini. Es war irgendwie auf "./" und nicht /usr/lib64/php/modules/
InformationsquelleAutor Doug Trash