[請益] system 的問題

看板PHP作者 (嘎嘎)時間17年前 (2008/06/11 01:30), 編輯推噓2(204)
留言6則, 5人參與, 最新討論串1/1
我想用 php 的 system() (or exec(), `xxx` ... etc) 呼叫一個 c++ 程式 可是執行總是無法成功, 請問是什麼原因?? c++ 程式是用 g++ compile 的, 如果直接在 shell 執行不會有問題 用 system 則會得到傳回值為 126, 應該是表示無法執行的意思 另外我可以執行 system("ls") 像這樣的東西 或是換成一個 python 的檔也沒問題, 兩個程式權限看起來是一樣的 ---------- php file ---------- <?php $input = system("./test", $retval); echo $retval; ?> ---------- cpp file ---------- #include <iostream> using namespace std; int main(){ cout << "hello" << endl; return 0; } ---------- python ---------- #!/usr/bin/env python print "hello" php setting 看起來沒問題? ------------------------ safe_mode Off Off safe_mode_exec_dir no value no value safe_mode_gid Off Off safe_mode_include_dir no value no value 檔案的權限 ---------- -rwxr-xr-x 1 xxxxx xxxxx 90 Jun 11 00:03 test.py // python code -rwxr-xr-x 1 xxxxx xxxxx 11034 Jun 11 03:09 try // binary 在 shell 下皆可執行 $ ./test.py $ ./try in php ------ system("./test.py", $retval); // ok system("./try", $retval); // fail, exit 126 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.48.60

06/11 01:48, , 1F
用 exec()
06/11 01:48, 1F

06/11 02:02, , 2F
還是不行
06/11 02:02, 2F

06/11 02:18, , 3F
會不會是權限的問題?試試看能不能用 www 的 user 跑
06/11 02:18, 3F

06/11 03:31, , 4F
路徑是找得到的?檔案有設了可執行屬性?
06/11 03:31, 4F

06/11 11:31, , 5F
我想檔案是找得到的 找不到會傳回 127
06/11 11:31, 5F
※ 編輯: aknow 來自: 140.112.48.60 (06/11 11:31)

06/12 17:09, , 6F
解決了 php是32bit的版本, 而g++是64bit的版本的關係
06/12 17:09, 6F
文章代碼(AID): #18JheqgF (PHP)
文章代碼(AID): #18JheqgF (PHP)