7

如果这个问题得到了回答,我很抱歉。

为什么我不能直接运行php代码而不使用mac上的终端。我的意思是当你双击html文件时它会自动在浏览器中打开但不是在php的情况下。如果我尝试双击php它会打开一些文本编辑器。

任何帮助都会有所帮助。

4

7 回答 7

46

试试这个(对于mac),

  1. 打开terminal

  2. cd到文件夹

  3. 启动 php 服务器 -php -S 127.0.0.1:8000

  4. 打开浏览器并输入 -http://localhost:8000/file-name.php

于 2019-11-21T03:37:52.457 回答
14

我想你不明白 PHP 是什么...

HTML是一种标记语言,浏览器可以直接理解。如果浏览器打开文件,它可以对内容做一些事情。

由于 PHP 是一种编程语言,因此您需要一个解析器。此解析器是您的 PHP 可执行文件。这个程序可以理解 PHP,除了运行代码并给出结果之外,什么也不做。此结果可能是 HTML 网页、图像或其他任何内容。

既然您说,您使用的是 Mac,这里简要介绍如何设置您的个人网络服务器:

在 Mac OSX 上,PHP 和 Apache(这就是我在本示例中使用的)已经安装和预配置。您可以像这样开始使用它:

进入您的系统首选项并确认Web Sharing已启用。

打开 Finder 并转到/Library/WebServer/Documents/localhost。那里的所有文件都由本地网络服务器(Apache 和 PHP,如果你想知道的话)处理。将您的文件放在那里并打开您的网络服务器并调用http://localhost/YourFile.php,它将调用该文件YourFile.php并向您显示脚本的输出是什么。

编辑:

如果您将 PHP 用于脚本,例如 bash-scripts,请参阅@andreas-baumgart 提供的答案。

于 2013-11-13T10:45:03.520 回答
9

要在 MAC 中运行 PHP,应该启动内置的 Apache Web 服务器并启用已经安装的 PHP。

这可以通过以下步骤来完成。

  1. 转到/etc/apache2/httpd.conf并将权限更改为sudo chmod 777 httpd.conf

  2. 然后打开上面的文件取消注释该行#LoadModule php5_module libexec/apache2/libphp5.so

  3. 要启动 apache 内置服务器,请使用sudo apachectl start终端中的命令。

现在 .php 文件可以使用从终端创建和运行,php -f filename.php也可以使用在浏览器上运行http://localhost/filename.php

于 2015-07-30T00:28:35.817 回答
6

您不能执行纯 PHP 脚本,因为它们不是可执行程序而是源代码。因此,它们只包含解释器创建可执行代码的收据。为了运行您的 PHP 脚本,您需要将其传递给 PHP 解释器。在您的场景中,您可以通过提供shebang来存档。

要双击运行脚本,请尝试以下操作:

  1. 使脚本可执行使用chmod +x yourscript.php
  2. 将相应的 Shebang 添加到文件内容:#!/usr/bin/env php.
  3. 在 Finder 中选择一个 PHP 文件,点击 CMD-i 并将“打开方式”更改为“Terminal.app”。
于 2013-11-13T10:51:54.697 回答
4

迟到的回应,但正在考虑为自己做这件事,这是我搜索的结果之一,想要提供 2 个解决方案,因为我最终都是自己来的。

解决方案#1

简单的方法是通过编写一个包装文件来执行您正在处理的脚本来绕过方法。使用以下代码创建一个文件:

#!/usr/bin/php
<?php

include('name-of-php-script.php');

?>

将其另存为wrapper.command名称 wrapper 并不重要,但命令扩展名告诉 Finder 这是要在终端中打开的 shell 脚本。该文件本身只是执行包含在其中的任何 php 脚本。

解决方案#2

具体查询需要做一些工作。

首先确保 php 脚本的第一行是:

#!/usr/bin/php

这是在 Mac OS X 上安装 PHP 预装版本的位置。您始终可以通过在终端中运行以下命令来验证:

whereis php

将 Shebang 行添加到 php 脚本后,您已准备好自动执行它。

要使其可双击可执行,您必须执行以下操作: 右键单击​​ PHP 脚本并单击Get Info。单击显示打开方式的位置,单击默认选项以查看所有可用选项。选择其他...

切换它的位置Enable:Recommended ApplicationsAll Applications ,然后单击Always Open With复选框。选择终端作为应用程序。最后,您必须单击显示全部更改的按钮...

OS X 将验证您是否希望将终端设置为打开 .php 文件的默认应用程序

这将使每个 php 文件默认在终端中打开,但除非它们包含 #!/usr/bin/php 行,否则它们实际上不会运行。

于 2016-01-07T22:42:41.000 回答
3

试试MAMP

MAMP 4 为 Web 开发人员带来了更多机会。我们现在支持 MySQL 5.6 并且 Nginx 现在已经完全集成。服务器启动时间已得到改善。

在此处输入图像描述

于 2017-01-18T21:08:20.033 回答
0

因为 .php 文件本身不是“可执行文件”,它们只是带有 PHP 扩展名的文本文件。

您需要针对文件运行 php 解释器以在其内容上执行。

于 2013-11-13T10:39:13.593 回答