Вызов скрипта Python через PHP не работает

Я пытаюсь вызвать мой скрипт на python для процесса твиттера через PHP на компьютере с Ubuntu. В этом отношении я использую exec () следующим образом:

exec('python TwitterSearchProcess.py > /dev/null 2>&1 & echo $!');

Используемый мной скрипт отлично работает в терминале. Однако с тем же вызовом через PHP это не работает. Я попробовал это с другим скриптом Python, и он работал хорошо, но я не знаю, в чем разница между моими двумя скриптами. Следующий скрипт представляет скрипт, работающий на PHP и терминале.

import sys
file = open("testscript.txt", "a")
file.write("hello")
file.close()

Следующий скрипт представляет собой процесс потоковой передачи Twitter с помощью tweepy, который работает только в терминале.

import sys
import tweepy
import os

access_token        = ""access_token_secret = ""consumer_key        = ""consumer_secret     = ""
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
directory = os.path.dirname(os.path.abspath(__file__))+"/"+sys.argv[1]+"/"
if not os.path.exists(directory):
os.makedirs(directory)

class CustomStreamListener(tweepy.StreamListener):
def on_status(self, status):
print(status.text)
def on_data(self, data):
fo = open(directory+"StreamingResults.txt", "a")
fo.write(data)
def on_error(self, status_code):
print >> sys.stderr, 'Encountered error with status code:', status_code
return True # Don't kill the stream
def on_timeout(self):
print >> sys.stderr, 'Timeout...'
return True # Don't kill the stream
sapi = tweepy.streaming.Stream(auth, CustomStreamListener())

if len(sys.argv)== 3:
sapi.filter(track=[sys.argv[2]])
if len(sys.argv)== 4:
sapi.filter(track=[sys.argv[2],sys.argv[3]])
if len(sys.argv)== 5:
sapi.filter(track=[sys.argv[2],sys.argv[3],sys.argv[4]])

Я проверил права доступа и установил всю папку моих сценариев на 777. И еще раз, если я запускаю потоковый сценарий в терминале, я получаю следующее предупреждение, хотя сценарий работает нормально:

InsecurePlatformWarning: A true SSLContext object is not available. This      prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.

Это как-то связано с моей проблемой?

Заранее спасибо за ваши ответы.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]