php - 用自制软件更新 php 会导致并发症
问题描述
我的 php 版本是 7.1.33,但为了安装特定的 Laravel 项目,我至少需要 7.2 版本。我正在使用安装了 High Sierra (10.13) 的 Mac。所以我安装了自制软件,然后是这个:
brew install php@7.2
echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.bash_profile
brew link php@7.2
根据php -v
(在 laravel 项目的目录中)我的版本是 7.2.33,MAMP 使用的是 7.2.8,所以我认为这很好。
which php
向我展示:/usr/local/bin/php
并php --ini
告诉我/usr/local/etc/php/7.2
我的 php.ini 在/usr/local/etc/php/7.2/php.ini
哪里以及加载的配置文件在哪里。
在 Mamp 的浏览器中,phpinfo 给了我这些路径:
php.ini:/Applications/MAMP/bin/php/php7.2.8/conf
加载的配置文件:/Applications/MAMP/bin/php/php7.2.8/conf/php.ini
在所述项目中尝试“composer install”时,出现无法安装某些扩展的错误。此扩展名列在 Mamp 的 php.ini 中,但不在终端给我的 /usr/local/etc/php/7.2/php.ini 中。
我很困惑如何解决这个问题,我是否未能正确安装 php 7.2?
有没有人知道到底出了什么问题,或者在安装项目的作曲家时如何在终端中使用正确的 php.ini(Mamp 的,其中列出了扩展名)?
解决方案
事实上,MAMP 将使用自己的 PHP 版本和配置文件,而忽略 brew 安装的文件。另一方面,您的终端会做相反的事情。
因此,您需要通过将 bin 文件夹添加到路径来告诉系统使用 MAMP php:
brew unlink php@7.2
export PATH="/Applications/MAMP/bin/php/php7.2.8/bin:$PATH" >> ~/.bash_profile
注意:你应该/usr/local/opt/php@7.2/bin
从你的路径中删除,检查你的~/.bash_profile
文件
如果你想保持系统 php 和 MAMP php 分开,你可以为 mamp PHP 别名一个不同的命令:
alias phpmamp="/Applications/MAMP/bin/php/php7.2.8/bin/php"
然后使用它调用作曲家:
phpmamp composer install
推荐阅读
- python - 具有最小范围但更改限制的 pyplot 轴
- node.js - 无服务器 AWS Lamba 功能上的预检 CORS 问题。
- python - Python 5 周存储桶
- python - 找不到管理页面
- connection - SQL Developer 连接到 Exasol DB
- excel - 用于在所有单元格上重复直到找到空白单元格的 VBA 代码
- arrays - 在页面模板液体(Shopify)中显示来自 settings_data.json 的 JSON 数据数组
- docker - 在 docker 中运行的 Geth 发生 OOM
- android - 在 Android 之外实现 Wifi-Aware 应用程序
- websphere - 我们如何在 WebLogic 和 WebSphere 中设置 X-Frame-Options 响应标头?