MAC上跑PHP连接Mongodb
-
用惯了NPM install,PHP真是麻烦,比如要连个Mongodb需要安装MongoDB PHP Driver 。
https://stackoverflow.com/questions/38766586/fatal-error-class-mongodb-driver-manager-not-found这需要通过PECL。https://www.php.net/manual/en/mongodb.installation.pecl.php
Mac自带PHP没有装PECL,怎么办?这时候最好参照官方文档,网上的tutorial不一定适用于你的电脑设置。
https://pear.php.net/manual/en/installation.getting.php$ curl -O https://pear.php.net/go-pear.phar $ php -d detect_unicode=0 go-pear.phar
有了梨子,应该可以PECL了吧?
$ sudo pecl install mongodb
抱歉,不行,为什么?不知道!自带的PHP不让啊!
改brew install php吧?brew install php@7.4
但是,PHP还是用就版本啊!
是啊,改profile:echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.bash_profile echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.bash_profile source ~/.bash_profile
现在可以装了吧?不行,不知道为什么,php文件夹下多了一个pecl的快捷方式。
Warning: mkdir(): File exists in System.php on line 294 PHP Warning: mkdir(): File exists in /usr/local/Cellar/php/7.4.4/pecl
把这个shortcut删除后,终于装上了"MongoDB PHP Driver"
真TM蛋疼啊!!!其实还没完,哪位天才的设计啊???extension_dir 又不对了,
runphp --ini
可以查看php.ini的location,然后打开php.ini,把extension_dir改一下,pecl安装有问题,正确路径应该是:“/usr/local/Cellar/php/7.4.4/pecl/20190902/” , 鬼知道为什么,它被设置成“; extension_dir = "/usr/local/lib/php/pecl/20190902"”。
只有改后,extension才可以load。
-
@梵总 如果用mac, 默认用zsh,不是bash。所以“export PATH” 需要加到~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc source ~/.zshrc