【问题标题】:enable ldap module in laravel homestead在 laravel homestead 中启用 ldap 模块
【发布时间】:2017-07-11 18:30:59
【问题描述】:
目前有一个问题,我无法在 homestead 中启用 ldap 模块。我已经更改了多个 php.ini 文件,但似乎仍然没有任何效果。有没有其他人在宅基地启用模块有问题?
旁注:尝试重新启动 php-fpm 时,我遇到了权限被拒绝的问题。他们提示我输入密码(我已经尝试过“秘密”),但似乎仍然无法让它工作。
也多次重启了宅基地实例。没有占上风。
有什么想法吗?
花旗
【问题讨论】:
标签:
laravel-5
homestead
php-ini
【解决方案1】:
我认为这个问题值得自己回答,因为很容易在宅基地上安装错误版本的 ldap 并且不知道为什么事情不工作。
TL;DR:将 ldap 的版本与您正在运行的 php 版本相匹配并使用 apt-get 安装。
例如,运行 homestead v.6.1.0:
cd HOMESTEADFOLDER # on your host
vagrant ssh # access the guest machine
sudo apt-get update # update apt-get package list
sudo apt-get install php7.1-ldap # or whatever version
在我上面的示例中,如果您将 php7.1-ldap 切换为 php7.0-ldap,那么所有 似乎 都可以正确安装(实际上安装正确),但实际上,您已将该模块安装到实际未运行的 php 版本中。我尝试了几次重新启动 FPM 才发现这是我所做的。
旁注:apt-get 将重新启动 php 并重新加载模块,因此无需尝试重新启动服务器或弄乱 .ini 文件。
当 ssh-ed 进入来宾机器时,您可以检查软件包是否安装了 php -m
如果 ldap 是您的项目需要的东西,那么在脚本中处理它可能是一个更好的主意。 fh-jashmore 在上面的评论中引用的答案有一个简单但可靠的例子:How to automatically enable php extensions in Homestead on vagrant up