仅通过 CMD 找不到 Imagick?

Imagick not found via CMD only?

网络上有很多 windows 令人头疼的问题。 我确实找到了一切的正确组合并且它开始工作了。

不过 当我从命令行启动 php 时,它会发出警告:

警告:PHP启动:无法加载动态库'c:\xampp\php\ext\php_imagick.dll' - 找不到指定的过程。 在第 0 行未知

这该死的东西怎么能工作,使用经验证存在的文件并有一个基于这些文件的 apache 服务器 运行,但在启动时抛出失败?

这里是相关的 php.ini 部分,如果您需要查看的话: (如果您不知道如何让它找到它 - 有没有办法禁用它向我抛出的启动警告和错误弹出窗口,它们会破坏我的 cmd 脚本。)

extension_dir="c:\xampp\php\ext"

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; ... or with a path:
;
;   extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.


extension=php_bz2.dll
extension=php_curl.dll
extension=php_mbstring.dll
extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mssql.dll
;extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client

extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pdo_sqlite_external.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll

; The MIBS data available in the PHP distribution must be installed. 
; See http://www.php.net/manual/en/snmp.installation.php 
;extension=php_snmp.dll

extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll

extension=php_mongo.dll
extension=php_imagick.dll

显然 Imagic CORE_RL_*.DLL 存在路径问题。 我使用的完整设置是从他们的配置位置调用它们,但是你应该通过 cmd 启动一个不相关的 php 它找不到它们:

要解决这个问题,请将所有核心 dll 从您的 imagick 安装目录复制到整个地方命名为:

  1. 您的 php 主目录
  2. 你的\xampp\apache\bin

(2. 显然你应该使用 xampp 还是 apache。)