Php - MacOS Sonoma 上的 imagick 扩展安装错误

问题描述 投票:0回答:1

我最近切换到 macOS 并开始了一个简单的项目,该项目需要我使用 Imagick 扩展。我尝试使用 Homebrew 安装 Imagick,但在安装过程中遇到错误。

我已经执行了以下命令。

pecl install imagick
git clone https://github.com/Imagick/imagick
cd imagick
phpize && ./configure
make
make install

但是,我在 make install 命令上遇到错误。

mkdir: /opt/homebrew/Cellar/php/8.3.8/pecl: File exists
mkdir: /opt/homebrew/Cellar/php/8.3.8/pecl: No such file or directory
make: *** [install-modules] Error 1

还尝试删除现有的 pecl 目录并重新安装 imagick。

sudo rm -rf /opt/homebrew/Cellar/php/8.3.8/pecl
sudo mkdir -p /opt/homebrew/Cellar/php/8.3.8/pecl
pecl install imagick

但是遇到了这个错误

Build process completed successfully
Installing '/opt/homebrew/Cellar/php/8.3.8/include/php/ext/imagick/php_imagick_shared.h'
Installing '/opt/homebrew/Cellar/php/8.3.8/pecl/20230831/imagick.so'
ERROR: failed to mkdir /opt/homebrew/Cellar/php/8.3.8/pecl/20230831

我尝试搜索相同的错误,但找不到任何错误。 如何解决这个问题?我如何在我的Mac上找到这个目录(还在熟悉苹果生态系统)?

php macos homebrew imagick pecl
1个回答
0
投票

我遇到了类似的问题,当我使用命令安装xdebug时:

pecl install xdebug

它看起来像这样:

构建过程成功完成 安装“/opt/homebrew/Cellar/php/8.3.8/pecl/20230831/xdebug.so”

警告:mkdir():文件存在于 System.php 第 294 行 PHP 警告:mkdir():文件存在于 /opt/homebrew/Cellar/php/8.3.8/share/php/pear/System.php 第 294 行

警告:mkdir():文件存在于 /opt/homebrew/Cellar/php/8.3.8/share/php/pear/System.php 第 294 行 错误:无法 mkdir /opt/homebrew/Cellar/php/8.3.8/pecl/20230831

我认为它可以正确安装并正确制作,但在最后一步出现错误,使目录“/opt/homebrew/Cellar/php/8.3.8/pecl/20230831” 然后将您的扩展文件(如“***.so”)复制到该目录。

这似乎是 /opt/homebrew/Cellar/php/8.3.8/share/php/pear/System.php 第 294 行的一个新错误:

                if (!mkdir($newdir, $mode)) {
                    $ret = false;
                }

第一次安装时,没有目录,运行正常。 但如果我们首先安装像“opcache.so”这样的一个,然后安装第二个, dir已经存在,我认为php代码不会判断dir是否存在,所以得到了错误。

© www.soinside.com 2019 - 2024. All rights reserved.