我有一個簡單的Hello世界命令行應用程序,我試圖通過PHP執行,但我不知道如何切換到應用程序的調試文件夾,然後運行可執行文件。到目前爲止,我已經嘗試使用popen
來移動終端所在的位置,但是在我已經完成的方式中看起來不正確,然後使用exec
來執行該命令。通過參數與命令行路徑可執行文件與PHP
繼承人我的PHP文件:
<?php
$loc = '/Users/dave/Library/Developer/Xcode/DerivedData/HelloWorld-akuofooecqboeybtsfalcrelvfjt/Build/Products/Debug';
$argv = "./HelloWorld j";
popen($loc, 'r');
echo exec($argv);
而且我的繼承人C++命令行程序:
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
if(argc < 2)
{ printf("Please enter a value \n");
return -1;
}
std::cout << argv[1]<<"\n";
std::cout << "Hello, World!\n";
return 0;
}
所在的目錄,這樣做的debug文件夾是/Users/dave/Library/Developer/Xcode/DerivedData/HelloWorld-akuofooecqboeybtsfalcrelvfjt/Build/Products/Debug
和執行該我用./HelloWorld x
(輕微請注意,如果HelloWorld
應用程序有空間,這將如何工作?)
一切工作正常,當我做從終端運行它,所以它不是一個C++文件的問題。
那麼有人可以告訴我怎麼才能從php執行這個應用程序?
如何將這項工作?如果系統沒有被使用,而我不在正確的目錄中,它不會給我一個答案。 – user3144542
您必須將您的可執行應用程序放入預定義的目錄中。例如在你的PHP應用程序的目錄中。其目錄是否動態變化? –
你可以很容易地做到:system('PATH/HelloWorld j') –