php - 将 PHP 脚本转换为 Unix 可执行文件
问题描述
情景 | 问题
我有一个 php 脚本('foo.php'),当我通过服务器上的终端使用 'php foo.php' 运行时,它会执行并执行我构建它要做的事情。
我还有其他人给我的另一个文件('bar'),它的名称没有扩展名,但它是一个 unix 可执行文件。它运行并用 PHP 编码,我对此很确定。好消息是运行这个文件我需要做的就是'./bar'。
我知道我可以通过在文件顶部添加 '#!/usr/bin/env php' 并 chmod u+x 它甚至继续删除 php 扩展名来让我的 'foo.php' 成为可执行文件。
然而,当我用文本编辑器打开“栏”时,我看到的只是乱码(我可能会指出它看起来不像是编码的,它实际上是纯粹的乱码,因为我知道编码的样子,因为我尝试过用Zend & IonCube 和代码只是变成字母和数字,字节码等)。有点像用记事本++打开一个.exe文件。
但是,当我用文本编辑器打开“foo.php”时,我的源代码是可见的。
问题
简单来说,我希望我的源 php 代码是无敌的,或者对任何文本编辑器来说都是乱码,同时仍然能够仅通过 './foo' 运行它。
我尝试过的另一件事是使用 Ioncube 对“foo.php”进行编码。因此,如果我继续使用 Ioncube 进行编码和混淆,我如何通过仅在终端中使用 './foo' 来使编码的 'foo.php' 运行。
解决方案
我尝试过的另一件事是使用 Ioncube 对“foo.php”进行编码。因此,如果我继续使用 Ioncube 进行编码和混淆,我如何通过仅在终端中使用 './foo' 来使编码的 'foo.php' 运行。
与之前混淆它的方式相同。
重命名它,chmod 它,添加一个 shebang 作为第一行。
推荐阅读
- amazon-ec2 - AWS EC2:如何使用命令行将某些 IP 列入白名单?
- c - 将数组结构作为函数指针传递并初始化
- java - 在 Weblogic 中访问另一个应用程序的 Jar 文件
- android - 有选择地停止推送通知侦听器或为 Expo Push Notifications 切换 _displayInForeground
- javascript - 如何自定义谷歌浏览器标签悬停卡
- elasticsearch - 如何修复关键字字段的ElasticSearch“默认情况下在文本字段上禁用字段数据”
- c# - 升级目标版本和最低版本后 UWP 应用程序未调试
- c# - 为什么没有任何东西传递给我的重载函数?
- react-native - 如何在 React Native 中读取通知?
- swiftui - SwiftUI 中的 Swift @propertyWrapper