场景 |问题
我有一个 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/