这是一篇延迟了快一年的笔记了……
安装redis和php-redis依赖
查找phpize:find /-name phpize
执行phpize:sudo /usr/bin/phpize
报错:
解决:
cd /Library/Developer/CommandLineTools/Packages/ // 不同的mac系统, 可能名字不一样 open macOS_SDK_headers_for_macOS_10.14.pkg
之后再执行:sudo /usr/bin/phpize
以为成功了之后执行./configure
提示:-bash: ./configure: No such file or directory
重新执行sudo /usr/bin/phpize
才发上图现有错误:Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
解决方法:安装autoconf
执行:brew install autoconf
之后再次执行:sudo /usr/bin/phpize
结果:
见到这个才是真正的成功
make test
make && make install
有一个错误
/usr/lib/php/extensions/no-debug-non-zts-20160303/ 创建redis.so权限有问题
由于新版苹果系统的自身保护
解决方案是禁掉SIP保护机制:
重启系统
按住Command + R (重新亮屏之后就开始按,象征地按几秒再松开,出现苹果标志,ok)
菜单“实用工具” ==>> “终端” ==>> 输入csrutil disable;
执行后会输出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.
再次重启系统
禁止掉SIP后,就可以顺利的安装了,当然装完了以后你可以重新打开SIP,方法同上,只是命令是csrutil enable
链接mysql时报
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
是由于MySQL 8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证
解决办法:
1、sudo vim /usr/local/etc/my.cnf
加
2、mysql -uroot -p
进入数据库:use mysql;
修改密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 。 由于数据库密码设置等级限制
set global validate_password_policy=0;
报错:Unknown system variable 'validate_password_policy'
解决:
SHOW VARIABLES LIKE 'validate_password%';
SET GLOBAL validate_password.policy =0;
完美