Call to undefined function Tester\json_decode()
- Michal Vyšinský
- Člen | 608
Ahoj,
naprosto chápu, co znamená tato hláška. Ale nechápu, proč se vůbec
zobrazuje. Když spustím jednoduchý skript kde volám json_encode/decode()
přes cli, tak bez problému funguje.
Nette Tester mi ale odmítá testy spustit. Když přidám do testovacího
php.ini extension=json.so
tak mi to vypíše chybu
Module 'json' already loaded
. Když jej tam nedám, tak to nenajde
funkce json_encode/decode. Nevíte někdo prosím co s tím?
php -v
PHP 5.5.3-1ubuntu2.3 (cli)
php-cgi -v vypisuje to samé
- Michal Vyšinský
- Člen | 608
Díky za reakci. Zde je výstup:
_____ ___ ___ _____ ___ ___
|_ _/ __)( __/_ _/ __)| _ )
|_| \___ /___) |_| \___ |_|_\ v1.1.0
PHP binary
----------
/usr/bin/php5-cgi
PHP version
-----------
5.5.3-1ubuntu2.3 (cgi-fcgi)
Loaded php.ini files
--------------------
/home/michal/www/events/tests/php.ini-unix
Loaded extensions
-----------------
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, date, dba, dom, ereg, exif, fileinfo, filter, ftp, gettext, hash, iconv, libxml, mbstring, mhash, openssl, pcntl, pcre, Phar, posix, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlwriter, zip, zlib
Takže json tam očividně není. Nicméně opět jsem zkusil přidat do
php.ini-unix řádek extension=json.so
a přišel jsem na
zajímavý úkaz: Když tester spustím přímo ze složky tests
(./run-tests.sh
) tak vše funguje (tedy, když v php.ini-unix mám
explicitně uvedeno rozšíření). Když chci testy spustit o adresář
výše, tedy tests/run-tests.sh
tak mi to buď píše, že json je
už zaregistrovaný, nebo, že to nemůže najít funkci json_encode/decode
(v závislosti na souboru php.ini-unix).
Takže asi vyřešeno. Budu testy spouštět přímo ze složky s testy a v php.ini-unix nechám ten řádek. Díky
Edit: ono už nejde měnit titulek threadu?
Editoval Michal Vyšinský (8. 5. 2014 9:57)