Executing a python script from PHP to open a socket -
i have python script chatserver.py includes:-
#!/usr/bin/python twisted.internet.protocol import protocol, factory twisted.internet import reactor <snip> reactor.listentcp(3800, factory) print "server started" reactor.run()
this opens socket on port 3800 works if start ssh want check open port , if closed reopen using php cannot seem python script execute.
here how calling via php @ moment
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); }
i have tried lot of things have found on searches cannot seem file execute.
looks permission issue. chatserver.py
stands needs root
user run it.
don't chmod 777 chatserver.py
. dangerous.
the way create group these administrative tasks:
groupadd chatserver
then add group:
usermod -a -g chatserver willroberts
then change chatserver.py
owned group:
chown root:chatserver chatserver.py
when php run user, have correct group membership run py file. method allows more flexibility more "chatserver" executables. here's more reading if you're interested: https://wiki.archlinux.org/index.php/users_and_groups , http://www.tldp.org/ldp/intro-linux/html/sect_03_04.html
Comments
Post a Comment