Mac安装php的redis扩展时报错解决方案 grep: /usr/include/php/main/php.h: No such file or directory

Mac安装PHP的Redis扩展报错如下:

wanzhou@chenmozhoudeMacBook-Pro redis-4.3.0 % phpize ./configure       
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:  
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

缺少PHP的header头文件,进入/usr/include文件夹,此目录根本不存在。

 

解决方法:

第一步:确保SIP已关闭

苹果在全新的 OS X El Capitan 10.11系统上已经使用了 Rootlees , 可以理解为一个更高等级的系统的内核保护措施,系统默认将会锁定 /system /sbin /usr 这三个目录,就算使用sudo也是无权限操作的,作为开发者经常会修改使用这些目录,所以这个保护需要关闭才能使用。

1.重启mac电脑,同时按住command+r,等出现进度条了再松开

2.弹出界面的工具条,选择“实用工具”,再选择“终端”,输入:csrutil disable,然后回车。会有英文提示成功

3.重新启动电脑

 

第二步:确保/usr 有读写权限

在苹果操作系统的高版本中就算关闭了SIP保护,你也许还是没有权限操作 /system /sbin /usr 目录,会报错提示:

ln: /usr/include: Read-only file system
这时执行,修改权限,就可以操作了
mount -o remount rw /


第三步:安装header头文件SDK

ios 更早版本

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include /usr/include

ios 10.14版本

$ cd /Library/Developer/CommandLineTools/Packages/
$ open macOS_SDK_headers_for_macOS_10.14.pkg

ios 10.15banb

sudo mount -uw /
 sudo ln -s "$(xcrun --show-sdk-path)/usr/include" /usr/include
 export SDKROOT="$(xcrun --show-sdk-path)"
 echo "export SDKROOT=\"\$(xcrun --show-sdk-path)\"" >> ~/.bash_profile
 sudo DevToolsSecurity -enable

最后

cd /usr/include

查看这个目录下,就有文件了

你可能感兴趣的:(Linux自我修炼)