MacOS Catalina:找不到类“ ZipArchive”

时间:2019-10-30 02:58:23

标签: php macos ziparchive macos-catalina

升级到10.15.1(19B88)Mac OS Catalina破坏了我的PHP 7.3.9开发环境。

$zip = new \ZipArchive;

带有消息“类'ZipArchive'的未命中的产量异常'错误'

zip和unzip安装在终端命令行中。

尝试使用PECL失败。尝试使用自制软件失败。

您知道如何在MacOS上手动正确安装ZipArchive吗?

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,这就是帮助我的原因。 基本上,我所做的是我只是使用brew安装了php,然后在httd.conf文件中链接了使用brew安装的php。步骤如下:

  1. 使用Home brew安装php

    brew install php@7.3

这将安装php。现在我们需要链接

brew link php@7.3

如果上面的命令由于缺少目录而无法运行,则只需使用mkdir创建它们,然后再次运行。

  1. 将您的php链接到httd.conf文件中

打开httpd.conf文件,该文件位于/private/etc/apache2/httpd.conf 打开它并更改此行

LoadModule php7_module libexec/apache2/libphp7.so

对此:

LoadModule php7_module /usr/local/Cellar/php/7.3.11/lib/httpd/modules/libphp7.so

这基本上是什么,它只是使Apache使用使用自制软件安装的php。希望这对您有所帮助。

这里是一个链接,可以更好地描述如何连接自制软件安装的php:

How to use the php that brew installed?

答案 1 :(得分:0)

我所做的是以下事情,

brew install php@7.3

已安装php版本7.3.19。

然后使用

编辑了我的httpd.conf
sudo nano /private/etc/apache2/httpd.conf 

http.conf中的以下行

LoadModule php7_module libexec/apache2/libphp7.so

被替换为

LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so

在模块阻止后立即在http.conf中添加了以下内容

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

在nano中,我使用ctrl + W搜索DirectoryIndex 添加了index.php以使其最终实现

DirectoryIndex index.php index.html

然后我使用更新了PATH变量

echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> /Users/<your user>/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> /Users/<your user>/.bash_profile

然后我按如下所示创建了一个新目录sbin,

sudo mkdir /usr/local/sbin

将所有权更改为当前用户

sudo chown -R $(whoami) /usr/local/sbin

链接酿造

brew link php@7.3 --force

重新启动Apache

sudo apachectl restart

请注意:您不一定必须执行所有步骤或以相同的顺序执行操作,我只想分享自己为我所做的工作。