Citti
Citti

Reputation: 463

enable ldap module in laravel homestead

Currently have an issue where i can not enable the ldap module in homestead. I have changed multiple php.ini files and still nothing seems to be working. Has anyone else had issues with enabling modules in homestead?

Side note: when trying to restart php-fpm i am getting a permission denied issue. They prompt me with a password (which i have tried "secret") but still cant seem to get that to work either.

Have restarted the homestead instance multiple times as well. no prevail.

any thoughts?

Citti

Upvotes: 1

Views: 1779

Answers (1)

Jeremy Turowetz
Jeremy Turowetz

Reputation: 98

I think this question deserves its own answer as it's pretty easy to install the wrong version of ldap on homestead and not know why things aren't working.

TL;DR: Match the version of ldap to the version of php you're running & install with apt-get.

For example, running 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

In my example above, if you switch out php7.1-ldap for php7.0-ldap everything appears to install correctly (it does in fact install correctly) but, in reality, you've installed the module to a version of php that's not actually running. It took me several attempts at rebooting FPM to figure out this is what I had done.

Side note: apt-get will restart php and reload modules so there's no need to try and reboot the server or mess about with .ini files.

While ssh-ed in to the guest machine, you can check that the package is installed with php -m

If ldap is a thing your project needs, it's probably a better idea to handle this in a script. The answer referenced by fh-jashmore in his comment above comment has a simple but solid example: How to automatically enable php extensions in Homestead on vagrant up

Upvotes: 3

Related Questions