自从更新了mac的新版本后,发现mac10.14老版本的拓展库被打包迁移了出来,安装形式也发生了变化,这里来记录一下遇到的坑,希望对有同样困扰的小伙伴们有帮助。同时本人也在学习中,如果文章有不对的地方,请在留言区指出,大家一起进步。
开始:
1.在php的官方拓展网站中,下载zip拓展,网站链接:

https://pecl.php.net/package/zip

2.下载成功之后,解压进入对应的目录:
备注:目录里需有config.m4

/Users/你的id/Downloads/zip-1.17.2/zip-1.17.2

3.执行:

sudo phpize

报错

grep: /usr/include/php/main/php.h: No such file or directory

grep: /usr/include/php/Zend/zend_modules.h: No such file or directory

grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory

Configuring for:

PHP Api Version:

Zend Module Api No:

Zend Extension Api No:

4.执行代码:

sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/ /usr

备注:如果执行遇到一下情况:
第一种情况:operation not permitted,文件没有操作权限

1.重启您的Mac,并在开机时长按command + R
2.进入之后,找到终端,执行代码:csrutil disable,关闭系统保护
备注:如果您后面想重新开启系统保护,则执行:csrutil enable

第二种情况:ln: /usr/include: Read-only file system,文件只有只读权限

执行代码:sudo mount -uw /

5.再次执行代码:

sudo phpize

出现以下画面则表示成功了:
image.png

6.指定php-config的路径

执行代码:./configure --with-php-config=/usr/bin/php-config

备注:如果您的php-config路径和我的不同,首先需要得到您的php-config路径:

which php-config

然后再执行:

./configure --with-php-config=你对应的php-config

7.执行代码:

sudo make 
sudo make install

如果写入拓展库的文件报只能只读时
image.png
再次执行代码,赋予写入权限

sudo mount -uw /

此时您的php拓展目录应该已经添加了zip,查看路径:

/usr/lib/php/extensions

image.png

8.最后需要在php.ini中开启拓展
默认目录为/private/etc/php.ini.default,这里需要cp一份出来,改名为php.ini

在文件中添加一行:extension=zip.so

9.重启nginx

sudo nginx -s reload

10.查看模块

 php -m |grep zip

11.输出phpinfo(),查看
image.png


假文艺青年
29 声望0 粉丝

Are You Ok