php - 将 PHP 脚本转换为 Unix 可执行文件

标签 php linux

场景 |问题

  • 我有一个 php 脚本('foo.php'),当我通过服务器上的终端运行'php foo.php'时,该脚本会执行并执行我构建它的功能。

  • 我还有其他人给我的另一个文件(“bar”),其名称中没有扩展名,但它是一个 unix 可执行文件。它运行并使用 PHP 编码,我确信这一点。令人高兴的是,我需要做的就是运行这个文件'./bar'。

  • 我知道我可以通过将“#!/usr/bin/env php”添加到文件顶部并 chmod u+x 来使“foo.php”也成为可执行文件,甚至可以继续删除 php 扩展名。

  • 但是,当我用文本编辑器打开“bar”时,我看到的都是乱码(我可能会指出它看起来不像是经过编码的,它实际上是纯粹的乱码,因为我知道编码是什么样子,因为我尝试过使用 Zend 和 IonCube 进行编码,并且代码只是变成了字母和数字、字节码等)。有点像用 notepad++ 打开 .exe 文件。

  • 但是,当我使用文本编辑器打开“foo.php”时,我的源代码是可见的。

问题

  • 简单来说,我希望我的 PHP 源代码是无敌的,或者对任何文本编辑器来说都是乱码,同时仍然能够仅通过“./foo”运行它。

  • 我尝试过的另一件事是使用 Ioncube 来编码“foo.php”。因此,如果我继续使用 Ioncube 进行编码和混淆,我如何通过在终端中仅使用“./foo”来运行编码的“foo.php”。

最佳答案

The other thing i've tried is use Ioncube to encode 'foo.php'. So, if i follow through using Ioncube to encode and obsfucate, how do i make the encoded 'foo.php' run by merely using './foo' in terminal.

与之前混淆它的方式相同。

重命名它,chmod它,添加一个shebang作为第一行。

关于php - 将 PHP 脚本转换为 Unix 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59137785/

相关文章:

c - Unix - 从子阻塞排序

php - APNs 消息已发送但未在 iOS 设备上接收

php - 系统打卡 PHP, Ajax, Mysql

php - 存储临时数据的更好方法是什么 [Memcache 或 MySQL]

linux - 使用 CURL 添加请求时间戳

linux - 如果我使用位于 PATH 中的二进制文件的名称命名 bash 脚本函数,会发生什么情况?

c - 访问文件

php - 如何在 Yii 中显示上传的图片到 CGridView 和 Table?

php 数组值不会导入到数据库

linux - 获取实时 Wordpress 站点的副本,以便在 Linux 上使用 Xampp 在本地主机上工作