我正在研究如何使用 PHP OpenId
我已将存储库克隆到
~/www
目录。 php-open-id/examples
目录中有一些我想运行的示例。
具体来说,我想渲染页面
php-open-id/examples/consumer/index.php
,以便更好地理解 API。我使用 在
php-open-id/examples
目录中启动了一个服务器
python -m SimpleHTTPServer 8000
我导航至
localhost://consumer/index.php
但是没有成功。它显示一个保存文件的对话框。渲染这个 PHP 文件的正确方法是什么?
我找到了解决方案:
使用运行服务器
php -S localhost:9000
Mac 操作系统
只需访问您的项目文件夹
在该文件夹上打开终端
然后运行
php -S localhost:9000
然后你就可以看到
PHP 7.3.24-(to be removed in future macOS) Development Server started at Tue Mar 30 11:58:49 2021
Listening on http://localhost:9000
之后您就可以通过 http://localhost:9000 访问您的应用程序 如果您的端口不可用,请尝试更改端口
您需要有一个 php 服务器来提供 .php 文件。简单的 python 服务器不是 php 服务器,因此它只是简单地列出下载目录中的文件。
如果您使用的是 OSX 10 或更高版本,它会附带 apache,其中包含 php 模块,并且可以设置为提供 php 文件。
可以在这里找到教程 http://php.net/manual/en/install.macosx.bundled.php 和这里 https://discussions.apple.com/docs/DOC-3083
如果您想设置专用服务器而不是使用 apache,MAMP 是一个很好的解决方案。谷歌它并查看有关如何设置它的教程。
您可以在 macOS 上本地运行 PHP 文件,无需任何软件,例如MAMP 或 XAMPP。
在终端中运行以下命令,它将使用当前工作目录中的 index.php 文件启动测试服务器。
php -S localhost:8000
如果您想在特定文件夹/目录中运行 PHP 服务器,请运行以下命令:
cd ~/public_html
php -S localhost:8000 -t consumer/
上面的命令将在'/consumer/'文件夹中运行PHP服务器,假设该文件夹有一个index.php文件。
参考: https://www.php.net/manual/en/features.commandline.webserver.php
2022 年 11 月更新:
不幸的是,PHP 已从 MacOS 中删除。这是一个简短教程,解释了如何让 PHP 在 Ventura 中工作。
我个人不喜欢用教程中概述的活动来弥补 PHP 的不足。我的解决方案是安装 Docker 并运行适当的 NGINX+PHP 容器。我认为它更干净、更灵活、更容易维护,而不是在船上摆弄半生不熟的东西。但这是一个品味问题,我想。
此外,正如答案之一所建议的,在 Ventura 中使用 Python 方法并不是没有麻烦,因为它需要安装 xcode。
在 MacOS 10.x 中,我还一直在使用板载 Python 和 PHP。丢失这些作为标准安装的工具是很烦人的。