簡體   English   中英

從PHP腳本在Pygame中執行Python游戲

[英]Execute Python game in Pygame from PHP script

這里有個小提要。 我有兩個代碼塊。 一個是使用pygame專門用python編寫的游戲。 另一個是用PHP / HTML / CSS編寫的學習管理系統(LMS)。 用戶可以單擊LMS中的“玩游戲”選項,從而將控制權轉移到python程序,並在游戲結束后返回。

我一直在嘗試找出方法,並嘗試使用exec()shell_exec() 他們碰巧運行了一個簡單的python腳本,但沒有啟動由實際游戲組成的pygame引擎窗口。 如果有人在這方面有經驗,可以為我指出正確的方向,我將不勝感激。

locahost上的WWW服務器就像遠程計算機上的WWW服務器一樣-位於安全的環境中。 它可以運行程序,但只能在自己的環境中運行,該環境無法訪問屏幕(尤其是其他用戶(例如人類)使用的屏幕)。 服務器不需要屏幕即可工作。


編輯:

對於Linux上的本地服務器,您可以嘗試將DISPLAY=:0.0設置為允許服務器訪問本地屏幕

exec('export DISPLAY=:0.0; python game.py');

要獲取錯誤消息,您可以使用:

$descriptors = array(
   0 => array("pipe", "r"),  // stdin
   1 => array("pipe", "w"),  // stdout
   2 => array("pipe", "w"),  // stderr
);

$process = proc_open('export DISPLAY=:0.0; python game.py', $descriptors, $pipes, dirname(__FILE__), null);

$stdout = stream_get_contents($pipes[1]);
fclose($pipes[1]);

$stderr = stream_get_contents($pipes[2]);
fclose($pipes[2]);

echo "stdout: ";
var_dump($stdout);

echo "stderr: ";
var_dump($stderr);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM