PHP 使用 MAMP 的命令行版本 Windows
PHP Version on the Command Line with MAMP for Windows
我 运行 在家里的 Mac 上使用 MAMP,但在我的工作机器 (Win7) 上我刚开始使用 MAMP Windows 所以我 运行 在两台机器之间安装相同的(相对而言)软件。昨天我从命令行 运行 执行了一些命令,发现脚本抛出错误,因为 mbstring
扩展没有加载。我做了一些挖掘,现在我挠头了......
在浏览器中,一切正常。当我检查 phpinfo
时,它正在加载配置文件并且 mbstring
已启用。但是,当我切换到命令行时,mbstring
不在模块列表中 (php -m
)。另外,当我执行 php --ini
时,它告诉我没有加载配置文件。我已经将正确的 PHP 版本添加到我的 PATH 并且 运行ning php -v
给了我我期望的版本,所以我不太确定为什么 PHP 在命令中行在浏览器中的行为与 PHP 不同。
有没有人运行以前参与过这个?如何使命令行上的 PHP 加载浏览器正在使用的相同配置文件?
命令行 php (CLI) 是不同于 CGI PHP 的可执行文件。它还通常使用不同的 php.ini 文件。但是,您可以在启动 php cli:
时指定要加载的 php.ini 的位置
php -c <path to your php.ini>
看看here.
此示例假设您使用 C:\MAMP\ 作为安装目录。
由于您需要在 Windows MAMP 中使用的配置,因此您需要将其作为参数提供给 php。
打开命令提示符。
要使用位于 C:\MAMP\htdocs\ 的脚本执行 test.php,方法是使用来自 MAMP 的 PHP5.6.0:
C:\MAMP\bin\php\php5.6.0\php.exe -c "C:\MAMP\conf\php5.6.0\php.ini" "C:\MAMP\htdocs\test.php"
如您所见,最后一个参数是要执行的脚本 ("C:\MAMP\htdocs\test.php")。
要从命令行执行 phpinfo:
C:\MAMP\bin\php\php5.6.0\php.exe -c "C:\MAMP\conf\php5.6.0\php.ini" -r phpinfo();
phpinfo 输出中应该有一行确认您正在使用来自 C:\MAMP\conf\php5.6.0\php.ini.
的配置
加载的配置文件=> C:\MAMP\conf\php5.6.0\php.ini
我 运行 在家里的 Mac 上使用 MAMP,但在我的工作机器 (Win7) 上我刚开始使用 MAMP Windows 所以我 运行 在两台机器之间安装相同的(相对而言)软件。昨天我从命令行 运行 执行了一些命令,发现脚本抛出错误,因为 mbstring
扩展没有加载。我做了一些挖掘,现在我挠头了......
在浏览器中,一切正常。当我检查 phpinfo
时,它正在加载配置文件并且 mbstring
已启用。但是,当我切换到命令行时,mbstring
不在模块列表中 (php -m
)。另外,当我执行 php --ini
时,它告诉我没有加载配置文件。我已经将正确的 PHP 版本添加到我的 PATH 并且 运行ning php -v
给了我我期望的版本,所以我不太确定为什么 PHP 在命令中行在浏览器中的行为与 PHP 不同。
有没有人运行以前参与过这个?如何使命令行上的 PHP 加载浏览器正在使用的相同配置文件?
命令行 php (CLI) 是不同于 CGI PHP 的可执行文件。它还通常使用不同的 php.ini 文件。但是,您可以在启动 php cli:
时指定要加载的 php.ini 的位置php -c <path to your php.ini>
看看here.
此示例假设您使用 C:\MAMP\ 作为安装目录。
由于您需要在 Windows MAMP 中使用的配置,因此您需要将其作为参数提供给 php。
打开命令提示符。
要使用位于 C:\MAMP\htdocs\ 的脚本执行 test.php,方法是使用来自 MAMP 的 PHP5.6.0:
C:\MAMP\bin\php\php5.6.0\php.exe -c "C:\MAMP\conf\php5.6.0\php.ini" "C:\MAMP\htdocs\test.php"
如您所见,最后一个参数是要执行的脚本 ("C:\MAMP\htdocs\test.php")。
要从命令行执行 phpinfo:
C:\MAMP\bin\php\php5.6.0\php.exe -c "C:\MAMP\conf\php5.6.0\php.ini" -r phpinfo();
phpinfo 输出中应该有一行确认您正在使用来自 C:\MAMP\conf\php5.6.0\php.ini.
的配置加载的配置文件=> C:\MAMP\conf\php5.6.0\php.ini