MacOS High Sierra下PHP 7.1通过PECL安装Lua扩展失败求助
解决MacOS High Sierra + PHP 7.1下
pecl install lua失败的问题 这个报错我之前帮朋友排查过,本质就是系统里缺少Lua的开发依赖,或者pecl的configure脚本找不到Lua头文件的位置。别慌,按下面的步骤来就能搞定:
1. 先装Lua的开发包
Mac上用Homebrew装最省心,打开终端执行:
brew install lua
装完之后可以确认下lua.h的位置,防止后续路径不对:
find /usr/local -name lua.h
正常情况下会输出/usr/local/include/lua.h或者/usr/local/opt/lua/include/lua.h,记下来这个路径。
2. 手动指定Lua路径安装扩展
直接用pecl install lua失败的原因是configure自动搜索路径没找到Lua,我们手动给它指方向就行。
先试试指定Lua版本安装(Lua扩展2.0.7和PHP7.1兼容性更好):
pecl install lua-2.0.7
如果还是不行,就直接进入临时编译目录,手动执行configure并传入Lua路径:
cd /private/tmp/pear/temp/lua ./configure --with-php-config=/usr/local/opt/php@7.1/bin/php-config --with-lua=/usr/local/opt/lua
这里的/usr/local/opt/lua是Homebrew安装Lua后的默认路径,如果刚才find命令输出的路径不一样,把--with-lua=后面的路径换成你找到的就行。
configure成功后,继续编译安装:
make && make install
3. 启用扩展并验证
安装完成后,找到PHP7.1的配置文件(一般在/usr/local/etc/php/7.1/php.ini),打开后添加一行:
extension=lua.so
保存后重启你的PHP-FPM或者web服务器,然后在终端执行:
php -m
如果输出列表里有lua,就说明安装成功啦!
内容的提问来源于stack exchange,提问作者nsavinov
相关产品推荐
相关产品推荐

