Nastavenie PHP CLI prostredia

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
romiix.org
Člen | 343
+
0
-

Zdravím,

mordujem sa s nefunkčným nahrávaním php rozšírení. Na apache serveri mi všetko ide, ale keď chcem pustiť testy z CLI tak mi chýbajú funkcie. Napríklad gd*, mcrypt*, … .

Knižnice sa načítavajú. Ak som v php.ini manuálne prikázal načítať gd.so, dostal som hlášku o duplicitnom načítaní knižnice. Funkcia extension_loaded("gd") vracia TRUE.

Každopádne je napríklad funkcia imagecreatefrompng() stále nedostupná – neexistuje a rozšírenie gd sa nenachádza v poli získanom funkciou get_loaded_extensions().

Porovnaním odpovedí get_loaded_extensions() na apache2 a v CLI som zistil, že sa to týka rozšírení curl, gd, imagick, mcrypt, mysql, mysqli, PDO, pdo_mysql, pdo_sqlite a sqlite3.

Nette Tester zlyháva bez ohľadu na to aké PHP nastavím (/usr/bin/php5, /usr/bin/php5-cgi) alebo aký php.ini nastavím (/etc/php5/apache2/php.ini, /etc/php5/cli/php.ini alebo žiadny).

Používam Linux distro Crunchbang (Debian).

Stalo sa už niečo podobné niekomu?

Vďaka za nápady.

matopeto
Člen | 395
+
0
-

je mozne, ze mas viac (mozno este nejaky iny) php.ini suborov, vypis si v tom konzolovm skripte phpinfo() a pozri sa vsetko a z coho je to nacitane…

romiix.org
Člen | 343
+
0
-

Skúsil som, ale nič som neobjavil. Asi zle hľadám.

php5 -r "phpinfo();">cli_phpinfo

cli_phpinfo

/etc/php5/cli/php.ini

/etc/php5/cli/conf.d/10-pdo.ini:

; configuration for php PDO module
; priority=10
extension=pdo.so

/etc/php5/cli/conf.d/20-curl.ini:

; configuration for php CURL module
; priority=20
extension=curl.so

/etc/php5/cli/conf.d/20-gd.ini:

; configuration for php GD module
; priority=20
extension=gd.so

/etc/php5/cli/conf.d/20-mcrypt.ini:

; configuration for php MCrypt module
; priority=20
extension=mcrypt.so

/etc/php5/cli/conf.d/20-mysql.ini:

; configuration for php MySQL module
; priority=20
extension=mysql.so

/etc/php5/cli/conf.d/20-mysqli.ini:

; configuration for php MySQL module
; priority=20
extension=mysqli.so

/etc/php5/cli/conf.d/20-pdo_mysql.ini:

; configuration for php MySQL module
; priority=20
extension=pdo_mysql.so

/etc/php5/cli/conf.d/20-pdo_sqlite.ini:

; configuration for php SQLite module
; priority=20
extension=pdo_sqlite.so

/etc/php5/cli/conf.d/20-sqlite3.ini:

; configuration for php SQLite module
; priority=20
extension=sqlite3.so

/etc/php5/cli/conf.d/imagick.ini:

; configuration for php imagick module
extension=imagick.so

Nejaký ďalší nápad?

Vďaka.

Milo
Nette Core | 1283
+
0
-

Spusť Tester s parametrem --info https://tester.nette.org/#…

romiix.org
Člen | 343
+
0
-

$ tester --info:

 _____ ___  ___ _____ ___  ___
|_   _/ __)( __/_   _/ __)| _ )
  |_| \___ /___) |_| \___ |_|_\  v1.1.0

PHP binary
----------
/usr/bin/php5-cgi


PHP version
-----------
5.4.4-14+deb7u8 (cgi-fcgi)


Loaded php.ini files
--------------------
(none)


Loaded extensions
-----------------
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, date, dba, dom, ereg, exif, fileinfo, filter, ftp, gettext, hash, iconv, json, 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

Upozorňujem, že zoznam nahraných rozšírení zostáva stále rovnaký bez ohľadu na nastavenú binárku php a nastavený php.ini. Skúšal som všetky kombinácie. Ostatné časti výpisu reflektovali zmeny, ale zoznam rozšírení sa nezmenil.

Milo
Nette Core | 1283
+
0
-

Ve výpisu je Loaded php.ini files: (none), protože jsi žádný php.ini soubor nepředal. Tester začíná s čistým prostředím. Předej mu php.ini s konfigurací:

tester -c tests/php.ini --info
romiix.org
Člen | 343
+
0
-

To viem. Vyššie som písal, že načítanie INI na to nemá žiadny vplyv.

$ tester -c /etc/php5/apache2/php.ini --info
 _____ ___  ___ _____ ___  ___
|_   _/ __)( __/_   _/ __)| _ )
  |_| \___ /___) |_| \___ |_|_\  v1.1.0

PHP binary
----------
/usr/bin/php5-cgi


PHP version
-----------
5.4.4-14+deb7u8 (cgi-fcgi)


Loaded php.ini files
--------------------
/etc/php5/apache2/php.ini


Loaded extensions
-----------------
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, date, dba, dom, ereg, exif, fileinfo, filter, ftp, gettext, hash, iconv, json, 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
romiix.org
Člen | 343
+
0
-

Vyriešené. Skutočne stačilo iba vytvoriť nový PHP.ini.

Ďakujem!