我如何通过 PHP 在 OpenShift 上 运行 一个 C++ 二进制文件?
How do I run a C++ binary on OpenShift via PHP?
我通过 SSH 连接到我的 OpenShift 应用程序并使用 gcc
编译了 C++ 文件,然后将其下载到我的计算机(用于备份)。我将它添加到 git 回购并推送了它。
如何在当前目录下执行?我尝试使用 chmod
将权限更改为 777。我在 PHP 中尝试了 exec()
、shell_exec()
、passthru()
、system()
,但没有成功。 None 给了我程序的输出。
我使用的命令
编译 C++:gcc code.cpp -o code.out
里面run.php
:chmod 777 code.out && ./code.out input-file
(也试过chmod("code.out", 777);
)
input-file
也与同一目录中的 code.out
一起推送。
经过一些测试,我发现它returns代码126
是Permission problem or command is not an executable
,但是权限是777,它实际上是一个可执行文件。
我是不是漏掉了什么?
(对不起,我没有这方面的经验)
更改文件的权限以便所有人都可以执行。
chmod a+rwx file
我更喜欢用这个而不是 0777
。不过,这取决于您的喜好。
我通过 SSH 连接到我的 OpenShift 应用程序并使用 gcc
编译了 C++ 文件,然后将其下载到我的计算机(用于备份)。我将它添加到 git 回购并推送了它。
如何在当前目录下执行?我尝试使用 chmod
将权限更改为 777。我在 PHP 中尝试了 exec()
、shell_exec()
、passthru()
、system()
,但没有成功。 None 给了我程序的输出。
我使用的命令
编译 C++:gcc code.cpp -o code.out
里面run.php
:chmod 777 code.out && ./code.out input-file
(也试过chmod("code.out", 777);
)
input-file
也与同一目录中的 code.out
一起推送。
经过一些测试,我发现它returns代码126
是Permission problem or command is not an executable
,但是权限是777,它实际上是一个可执行文件。
我是不是漏掉了什么?
(对不起,我没有这方面的经验)
更改文件的权限以便所有人都可以执行。
chmod a+rwx file
我更喜欢用这个而不是 0777
。不过,这取决于您的喜好。