【发布时间】:2013-03-27 23:56:39
【问题描述】:
我有一个 python 脚本 chatserver.py,其中包括:-
#!/usr/bin/python
from twisted.internet.protocol import Protocol, Factory
from twisted.internet import reactor
<SNIP>
reactor.listenTCP(3800, factory)
print "Server Started"
reactor.run()
这会在端口 3800 上打开一个套接字,如果我从 SSH 启动但我想检查打开的端口,如果它关闭,则使用 PHP 重新打开,但我似乎无法执行 python 脚本。
p>这是我目前通过 PHP 调用它的方式
function serverCheck() {
$host = "MYHOST";
$port = 3800;
$connection = @fsockopen($host, $port);
if ( !is_resource($connection) ) { // port not open
exec('/usr/bin/python PATH_TO_FILE/chatserver.py 2>&1');
if($connection)
fclose($connection);
}
我已经尝试了很多我在搜索中找到的东西,但我似乎无法让文件执行。
【问题讨论】:
-
注释:由于你的
.py文件有shebang,你不需要明确告诉bash 使用/usr/bin/python。只需chmod +x chatserver.py -
您是否使用 chmod -x 使您的 python 文件可执行?
-
您的
{和}不匹配!! -
您的
if上缺少一个关闭的}。 -
ls -l chatserver.py显示root:root?我假设您以yourname:yourname的身份运行php 脚本?那是你的问题:)
标签: php python permissions