几个php Phar问题

几个php Phar问题,php,phar,Php,Phar,有几个问题,但我相信这些答案对许多人掌握相对较新的药物会很有用 在phar脚本实际运行时,是否可以从phar脚本中删除或编辑phar脚本中的文件 我注意到我可以将phar文件的名称从examplename.phar更改为examplename.php,并在url中运行它,它仍然可以正常工作。是这样吗?这样可以吗?安全吗 将所有文件放在同一个目录中,然后再对其进行处理是更好的做法,还是保留所有文件夹和子文件夹并像这样进行处理可以?或者这无关紧要 你能把phar文件弄糊涂吗。还是会毁了它?所有模糊处

有几个问题,但我相信这些答案对许多人掌握相对较新的药物会很有用

  • 在phar脚本实际运行时,是否可以从phar脚本中删除或编辑phar脚本中的文件

  • 我注意到我可以将phar文件的名称从examplename.phar更改为examplename.php,并在url中运行它,它仍然可以正常工作。是这样吗?这样可以吗?安全吗

  • 将所有文件放在同一个目录中,然后再对其进行处理是更好的做法,还是保留所有文件夹和子文件夹并像这样进行处理可以?或者这无关紧要

  • 你能把phar文件弄糊涂吗。还是会毁了它?所有模糊处理都必须在Pharming之前完成吗

  • 希望一位药学专家能够回答这些问题。谢谢

  • PHP的通常设置是将PHAR文件视为只读文件。事实上,您必须更改该设置以允许您的PHP本地副本创建这些文件。我怀疑他们能改变,我不敢打赌

  • PHAR的一般结构是一个初始的PHP脚本部分,用于进行设置,然后调用
    \uuu halt\u compiler()
    ,然后调用压缩字节(将控制转移到PHAR中已经存在的脚本部分之后),因此您可以在不使用PHAR的情况下对任何PHP脚本执行任何可能的操作,包括更改其名称。请注意,由于硬编码的文件名,现有PHAR文件的引导代码可能不允许这样做,但这不是一般情况

  • 这并不重要

  • 在代码级别进行模糊处理,使PHP代码处于纯PHP的可运行状态不会影响PHAR。任何期望PHP已经包含特殊扩展的东西都可能失败


  • 还有一个问题。phar文件可以在任何版本的php上运行吗?如果有人将我的phar文件上传到他们的web主机服务器,并且他们只运行PHP4.0,它会工作吗?谢谢。您需要能够允许文件系统重定向到PHAR文件的PHP,也就是说,您至少需要PHP版本5.2.0,如果您使用后来的一些功能,可能需要更新的PHP版本。请注意,PHAR仅在5.3.0之后内置,早期版本需要安装PECL扩展(这可能不是一般情况)。随着PHP5.3的终结,您应该期望从最新的PHP版本中获得足够的支持。如果您必须支持旧的PHP版本,请不要使用PHAR。