Nette 2.2.7 + Imagick – class not found
- yamboo
- Člen | 10
Zdravim,
mam problem s rozchozenim Imagick pod nette. Instalace obojiho probehla bez
problemu. Imagick mi mimo nette facha, ale kdyz zkusim v nette vytvorit
kdekoli
<?php
...
$imagick = new \Imagick('pok.pdf');
...
?>
tak to hodi chybu, ze danou tridu vubec nenajde. Je treba neco nastavit v autoloadingu trid, aby se nette podivalo i do standardnich PHP classes? Diky za tip
- yamboo
- Člen | 10
Composer jsem nepouzil, instalaci Imagick jsem provedl pres packages jako extension do php. A nevim, jak robotloaderu rici, aby zahrabal primo tam…
php -i|grep imagick
Vystup:
imagick
imagick module => enabled
imagick module version => 3.1.0RC2
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
Editoval yamboo (15. 2. 2015 11:20)
- David Matějka
- Moderator | 6445
Imagick mi mimo nette facha
„mimo nette“ znamena co?
mas to imagick extension zapnuty i pro apache? nemas to jen pro CLI?
- yamboo
- Člen | 10
Tak ted jsem se k tomu dostal a prisel na problem. Protoze mam novy Mac, tak
jeste nejsem plne szit s omezenim s (od)instalaci preddefinovanych baliku. Brew
nainstaloval a nakonfiguroval php56, ale mac os 10.10 ma defaultne
nainstalovanou nizsi verzi php, kterou balickovac nevidi. Takze stacilo
v konfiguraci apache zmenit LoadModule u php5 na novejsi verzi a vse bezi.
Bohuzel jsem si toho nevsiml, nebot jsem mimo nette testoval jen z command
shellu bez pouziti apache…
Dekuji za tip
- Milanov
- Člen | 51
Ahoj. Mám najednou stejný problém. Mám Mac OS X 10.10, Homebrew, PHP55 a CLI. Konfigurace:
$ brew install php55-imagick
Warning: php55-imagick-3.1.0RC2 already installed
$ brew install imagemagick
Warning: imagemagick-6.9.0-3 already installed
$ whereis php
/usr/bin/php
$ php -v
PHP 5.5.21 (cli) (built: Feb 8 2015 10:27:39)
$ php -i | grep imagick
Additional .ini files parsed => /usr/local/etc/php/5.5/conf.d/ext-imagick.ini,
imagick
imagick module => enabled
imagick module version => 3.1.0RC2
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
A spuštění testu vyvolá:
$ vendor/bin/tester tests/Pd/Gallery/
_____ ___ ___ _____ ___ ___
|_ _/ __)( __/_ _/ __)| _ )
|_| \___ /___) |_| \___ |_|_\ v1.3.2
Note: No php.ini is used.
PHP 5.5.21 | php-cgi | 8 threads
ssF
-- FAILED: Testuje správnost načtení hodnot z exifů | Pd/Gallery/ExifReadTest.phpt
Exited with error code 255 (expected 0)
Fatal error: Class 'Imagick' not found in ...
Ale jak je vidět, tak i když mu podstčím můj php.ini
, tak
modul nenačte.
$ vendor/bin/tester tests/Pd/Gallery/ -c /usr/local/etc/php/5.5/ -i
_____ ___ ___ _____ ___ ___
|_ _/ __)( __/_ _/ __)| _ )
|_| \___ /___) |_| \___ |_|_\ v1.3.2
PHP binary:
/usr/local/Cellar/php55/5.5.21/bin/php-cgi
PHP version:
5.5.21 (cgi-fcgi)
Loaded php.ini files:
/usr/local/etc/php/5.5/php.ini
Loaded extensions:
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, curl, date, dba, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, intl, json, ldap, libxml, mbstring, mhash, mssql, mysql, mysqli, mysqlnd, odbc, openssl, pcntl, pcre, PDO, pdo_dblib, pdo_mysql, PDO_ODBC, pdo_sqlite, Phar, posix, readline, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib
Nějaké nápady? Díky za ně
- yamboo
- Člen | 10
Mohu jen okomentovat problem, s kterym jsem se popral do uspesneho konce. Imagick potrebuje aktivni php-fpm na strane apache (modul fastcgi). Prvnim krokem jsem si nainstalil novou verzi php a imagick a v predinstalovanem apachi nahradil LoadModule na novou verzi. V predinstalovanem apachi jsem ale nenasel podporu pro knihovnu fastcgi, takze mi nezbylo nic jineho, nez nainstalovat pres brew vlastni apache, puvodni odstranit z autostartu a naopak si pridat jako demona vlastni zkompilovanou verzi s uvedenou podporou. Pak jiz vse bylo v poradku…
- David Matějka
- Moderator | 6445
@Milanov kdyz testeru podstrcis hlavni php.ini, tak stejne nenacte
.ini z conf.d adresare (kde jsou prave zapnute ruzne extension)
Udelej si pro testy specialni php.ini (prilozene primo u testu), kde budou
vsechny potrebne extensions. Tak to dela
i nette.