【发布时间】:2014-05-24 13:21:54
【问题描述】:
我需要从命令行 (PHP CLI) 运行一些由 Zend Guard 加密的文件,而 php 似乎在到达编码文件时立即退出,没有任何错误消息。是否可以从命令行执行 Zend Guard 编码的 PHP 脚本?
更多详情
在我目前正在处理的应用程序中,一些任务需要定期运行。起初,我们为一些仅用于运行任务的 url 实现了控制器。然后我们将在这些页面上使用wget 执行一项cron 工作。问题是其中一些任务需要参数才能运行。使用wget 执行 POST 请求不起作用,因为 Zend Guard 所做的第一件事是分配一个 cookie,然后重定向到相同的 URL。在第二个请求中,由于它现在在 GET 中,所以所有参数都丢失了。
然后我们决定使用命令行脚本来解决问题。我们非常喜欢这种方法,因为它解决了我们在使用基于 URL 的方法时遇到的问题。首先,它不会长时间保持打开的 Apache 连接。此外,它不会在公共 URL 上公开一些内部逻辑。正如我之前所说,当我们尝试执行这些命令行脚本时,什么也没有发生,应用程序只是退出了。
我们使用的是 Ubuntu 12.04 LTS、PHP 5.4.25 和 Apache 2.2.22。我确保在命令行中正确加载了 Zend Guard 扩展。此外,当网页被网络浏览器访问时,它也能正常工作。
如果有人能帮我解决这个问题,将不胜感激。谢谢!
【问题讨论】:
-
您的日志中有关于失败的任何信息吗?您是否尝试过提高日志级别?
-
您在哪里包含了您的 zend 保护模块?您能否详细说明在哪些目录中启用了 zend 保护模块的方式和文件?
-
编写一个
curls 脚本的小型 PHP 脚本怎么样?首先curl打开连接,获取cookie 并被重定向。第二个curl执行 POST 请求并发送 cookie。没有第二种方法的优势,但我认为它会起作用。
标签: php apache zend-guard