【问题标题】:Serving a C program via PHP without writing/uploading previlige通过 PHP 提供 C 程序,无需写入/上传权限
【发布时间】:2015-06-22 15:46:12
【问题描述】:

我需要在网站上托管一个 C 程序。该程序获取文件位置的参数,计算并输出另一个名称略有不同的文件。 即

> a.exe ../input.txt

将生成另一个文件

../input.txt.out.txt

这两个文件都很小(小于 10KB)。现在我把它放到服务器上,发现这个服务器已经禁止上传或生成文件了。

我想问的是,有没有办法将 php 流作为文件传递给 C 程序并使其写入它认为是文件的流,以便在服务器上实际上没有创建文件?归根结底,我不需要保留这些文件,只需将输出作为浏览器中的文本提供。

ps:我知道 php://temp 和 php://memory,但它们不能像文件一样传递给 C 程序。 p.s.2:我不确定这更像是 C 问题还是 php 问题。 C 可以将流作为输入而不是文件吗?

【问题讨论】:

    标签: php c file stream


    【解决方案1】:

    您无法在您没有管理权限的服务器上执行应用程序。您需要一个专用服务器。 此外,正如我在您的描述中看到的,该应用程序似乎是一个 Windows 可执行文件。大多数主机都是基于 linux 的,所以这个 windows 可执行文件不会运行。

    【讨论】:

    • 服务器也是windows所以它会运行。所以问题是找出我是否可以通过 php 执行 exec() ?测试后会更新。
    • 情况是,我可以通过php运行exec()。被调用的应用程序可以使用内存,读取文件,但不能写入。那么有没有办法欺骗 C 程序从流中读取和写入呢?或者也许在 php 中将应用程序沙箱化(但我认为不可能)。
    猜你喜欢
    • 2013-01-25
    • 2016-10-07
    • 2018-06-07
    • 2011-06-07
    • 1970-01-01
    • 2016-09-09
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多