【问题标题】:What does #! mean prior to path in Php script?#! 是什么意思?意思是在 PHP 脚本中的路径之前?
【发布时间】:2012-09-20 11:30:13
【问题描述】:

试图学习 PHP 和一个更有经验的开发人员对我的 PHP 脚本进行了一些修改,但我没有得到一个 opp 来询问“#!”是什么意思在我的 PHP 脚本中的路径旁边?它位于我正在处理的 PHP 文件的最顶部:

#!/opt/local/bin/php

任何帮助/指导将不胜感激。

问候。

【问题讨论】:

标签: php


【解决方案1】:

这是一种告诉 Linux 使用/opt/local/bin/php 的应用程序运行脚本代码的方法。如果您将 PHP 作为 apache 的插件运行,您将使用 <?php ?> 标签来识别 PHP 代码。

【讨论】:

  • “独立”解释器也需要 <?php ?> 标签来识别 PHP 代码。没有包含在它们中的任何内容都被定向到 STDOUT。
【解决方案2】:

维基百科解释得很简单:Shebang (unix)

在类 Unix 操作系统下,运行带有 shebang 的脚本时 作为一个程序,程序加载器解析脚本的其余部分 初始行作为解释器指令;指定的解释器 相反,程序运行,将路径作为参数传递给它 最初在尝试运行脚本时使用。[11]例如,如果 脚本以路径“path/to/script”命名,并以 以下行:

#!/bin/sh

然后程序加载器被指示运行程序“/bin/sh” 相反(通常这是 Bourne shell 或兼容的 shell), 将“path/to/script”作为第一个参数传递。 shebang 行通常被解释器忽略,因为“#” 字符是许多脚本语言中的注释标记;一些 不使用井号开始 cmets 的语言解释器 (如Scheme)仍然可以忽略shebang行以识别 [12]

【讨论】:

    【解决方案3】:

    这叫Shebang见Wikipedia

    在类 Unix 操作系统下,运行带有 shebang 的脚本时 作为一个程序,程序加载器解析脚本的其余部分 初始行作为解释器指令;指定的解释器 相反,程序运行,将路径作为参数传递给它 最初在尝试运行脚本时使用。[11]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-28
      • 2012-03-12
      • 2023-04-06
      • 2012-04-19
      • 2011-01-24
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多