双击并在mac上运行Php脚本

时间:2013-11-13 10:36:07

标签: php html macos

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

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

任何帮助都会有所帮助。

7 个答案:

答案 0 :(得分:14)

我认为你不明白PHP是什么......

HTML是一种标记语言,可以直接被浏览器理解。如果浏览器打开文件,它可以对内容执行某些操作。

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

既然你说过,你正在使用mac,这里有一个关于如何设置个人网络服务器的快速介绍:

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

进入系统偏好设置并验证是否已启用Web Sharing

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

修改

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

答案 1 :(得分: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

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

答案 2 :(得分:5)

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

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

  1. 使用chmod +x yourscript.php
  2. 使脚本可执行
  3. 将相应的Shebang预先添加到文件内容中:#!/usr/bin/env php
  4. 在Finder中选择一个PHP文件,点击CMD-i并将“Open With”更改为“Terminal.app”。

答案 3 :(得分:2)

迟到的反应,但我正在考虑为自己做这件事,这是我的搜索结果中的一个想要提供2个解决方案,因为我最终选择了两个。

解决方案#1

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

#!/usr/bin/php
<?php

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

?>

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

解决方案#2

具体调查需要一些工作。

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

#!/usr/bin/php

这是在Mac OS X上安装预装版本的PHP的地方。您可以随时在终端中运行此命令进行验证:

whereis php

一旦你将Shebang系列添加到php脚本中,你已经准备好自动执行了。

要使双击可执行,您必须执行以下操作: 右键单击PHP脚本,然后单击获取信息。单击打开方式的位置,单击默认选项以查看所有可用选项。选择其他...

推荐应用所有应用切换启用的位置,然后点击始终打开。选择终端作为应用程序。最后,您必须点击全部更改...

按钮

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

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

答案 4 :(得分:2)

尝试MAMP

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

enter image description here

答案 5 :(得分:0)

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

你需要针对文件运行php解释器来执行它的内容。

答案 6 :(得分:0)

尝试此操作(对于Mac),

  1. 打开terminal

  2. cd到文件夹

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

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