在Windows上的MAMP中安装Composer

10

我遇到了这个问题:

我正在尝试在Windows上使用MAMP安装Composer(自1月份以来就存在)。

像许多Windows上的Composer用户一样,我遇到了以下错误:

Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:
The openssl extension is missing, which means that secure HTTPS transfers are impossible. If possible you should enable it or recompile php with --with-openssl"

所以我检查了正确的php.ini页面,看它是否被禁用了,但是它没有被禁用!

由于Windows上使用MAMP的用户非常少,因此我找不到任何帮助。

感谢您的帮助或建议。


你是在使用MAMP中的PHP.exe吗?还是其他的? - Raphaël Gonçalves
我正在使用位于 \MAMP\bin\php\php5.6.3 的 php.exe,但该文件夹中没有 php.ini 文件(只有 php.ini-production 或 php.ini-development)@RaphaëlGonçalves - SuperKiwi
谢谢你编辑我的问题。 - SuperKiwi
7个回答

21
  1. 打开位于 "\MAMP\conf\" 文件夹中的 php.ini,或将php.ini复制到 \MAMP\bin\php\php[your PHP version number]\ 文件夹中。
  2. 查找 "extension=php_openssl.dll"
  3. ;extension=php_openssl.dll - 删除 ";" 符号
  4. 重新启动 MAMP,在此之后应该加载了扩展。

1
谢谢。那就行了!只需要将php.ini复制粘贴到bin目录中即可。 - SuperKiwi
检查@ark的答案以获取安装Composer的最新方法。 - Akaanksh Raj
@ark 我知道Composer会在那里查找,但这是否意味着每次更改时都必须更改两个php.ini文件? - Eames
对我来说,我必须将 php.ini 文件复制到 \bin\php... 文件夹中。仅仅修复 \conf 中的 php.ini 仍然会导致错误。 - Mike

7

我曾遇到相同问题

解决方法十分简单:
确保extension=php_openssl.dll未被注释(去掉;并将php.ini文件复制到php.exe所在的相同目录中,因为Composer会在那里查找php.ini文件,而不会在MAMP conf文件夹中查找。


我还必须将php.ini文件复制到与php.exe位于同一目录中,才能成功安装Composer。 - henrik123

4

步骤 1:前往以下文件夹

\MAMP\bin\php\php[your php version you are working on]

注意: 如果您想检查当前正在使用的php版本,请前往Mamp偏好设置,然后单击php选项卡,您将看到标准版本和您正在使用的版本。

mine was \MAMP\bin\php\php5.6.8

步骤2:在该文件夹中找到名为的文件

 php.ini-production

步骤三:使用记事本打开此文件进行编辑。

步骤四:按下ctrl+F进行搜索。

extension=php_openssl.dll

步骤 5:在它之前移除分号(;)。

步骤 6:重新启动 MAMP恭喜,你已经准备好安装 Composer。


你能否对你的答案再做一些解释?这可能会更有帮助给提问者或未来的用户。 - Bono
1
我进行了解释并改善了格式。那是我的第一个答案,谢谢指出。 - Code Black

2

这个方法适用于3.2.2版本及以上:

  1. 打开位于\MAMP\conf\文件夹中的php.ini文件,并将该文件复制到\MAMP\bin\php\php[your PHP version number]\中(您可以在MAMP的首选项中找到您正在使用的版本号)。
  2. 查找extension=php_openssl.dll,如果存在,则删除;
  3. 打开与您复制php.ini文件到同一文件夹中的php.ini-productionphp.ini-developmen文件。
  4. 查找extension=php_openssl.dll,如果存在,则删除;
  5. 重启MAMP,然后扩展程序应该会在此之后加载,您应该能够安装Composer。

0

我在这个问题上花了几个小时,按照建议的答案尝试了,但是无法使其正常工作。

所以对于其他遇到一堆错误的人来说,记住MAMP在Windows上仍然处于Beta版本,并且一些问题可能比修复起来实际可行的要深入。

MAMP和MAMP PRO for Windows目前只有Beta版本。它可能仍然存在一些问题。我们不建议在生产环境中使用MAMP和MAMP PRO Beta版。

最后我不得不转而使用WAMP。


0

我在Windows 7上使用MAMP PRO解决了这个问题,我认为MAMP也是一样的。

棘手的步骤是您必须将php.ini文件复制到php.exe位置以安装composer。(MAMP PRO将它们留在不同的位置)

例如,我正在使用php 5.6.0,您可以使用任何版本,只需进行适当的更改即可。

步骤:

  1. php.exe路径 C:\MAMP\bin\php\php5.6.0\php.exe
  2. php.ini路径 C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\php5.6.0.ini
  3. 根据需要编辑步骤2中的php.ini(取消openssl的注释)
  4. 将步骤2中的php5.6.0.ini复制到步骤1中的php.exe目录中
  5. 将此复制的php5.6.0.ini重命名为php.ini

然后Composer应该能够正确安装。


0

我也花了相当多的时间。在我的Windows 10 MAMP安装中,所有php.ini文件默认启用了openssl扩展。我通过在安装Composer之前将所需的PHP版本添加到Windows系统PATH中使其正常工作。MAMP PRO在控制面板的“PHP”选项卡上有一个“系统路径中的PHP”设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接