[英]PHP - exec not working to run java file
我已經在互聯網上搜索了數小時,試圖找出答案,但這沒有任何意義。
我從PHP使用exec()
,它適用於目錄中的一個類文件,但不會執行另一個,這是我的代碼:
exec("cd '/path/to/directory';java helloWorld 2>&1", $output);
那一個很好,但是下一個不起作用,當我嘗試它時,我得到了一個java.lang.ClassNotFoundException
:
exec("cd '/path/to/same/directory';java otherClass 2>&1", $output);
對我來說,為什么一個文件可以工作,而其他文件不在同一目錄中,這是沒有意義的。 我確保它可以訪問整個目錄。
檢查java類的包名稱,如果有,請嘗試java packagename.OtherClass
我遇到的問題是,與我的PHP相同的文件夾中有一個helloWorld.class
的副本,該副本正在運行而不是我的目錄中的PHP。 它無法執行cd
命令,但仍可以在同一目錄中運行類文件。
我現在不知道的問題是為什么它無法轉到目錄。 它說這是一個權限問題,但是當我輸出exec("whoami")
我得到_www
,目錄的所有者是_www
,並且所有者具有讀取,寫入和執行權限。
編輯:
我授予_www
訪問我要訪問的目錄上方的所有目錄的權限,現在它可以工作了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.