仅通过CMD找不到Imagick



网络上有很多令人头疼的windows镜像问题。我确实找到了所有东西的正确组合,它开始发挥作用。

然而当我从命令行启动php时,它会弹出一个警告:

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

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

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

extension_dir="c:xamppphpext"
;;;;;;;;;;;;;;;;;;;;;;
; 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. 您的\examplep\apache\bin

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

最新更新