Nette 2.2.7 + Imagick – class not found

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

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

akadlec
Člen | 1326
+
0
-

a jak ty classy loaduješ? composer nebo robotloader?

yamboo
Člen | 10
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

@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.