Ранее я задавал подобный вопрос, но, наконец, решил его дальше, но теперь я застрял.
Я запускаю python на веб-сервере на хосте сновидений.Я включаю его с помощью putty и запускаю скрипт на python, и он отлично работает.Но когда я запускаю его из php с помощью exec, он падает.
Используя функцию passthru () в php, я получаю сообщение об ошибке:
Traceback (most recent call last): File "newwork.py", line 20,
in api=lastfm.Api(api_key) File "lastfm/api.py", line 22,
in __init__ File "lastfm/filecache.py", line 19,
in __init__ File "lastfm/filecache.py", line 76,
in _InitializeRootDirectory File "lastfm/filecache.py", line 70,
in _GetTmpCachePath File "lastfm/filecache.py", line 66,
in _GetUsername OSError: [Errno 22] Invalid argument
Я понятия не имею, что это значитили где я должен начать.для получения дополнительной информации я использую модуль python lastfm, найденный здесь: http://code.google.com/p/python-lastfm/
, и мой скрипт на python просто делает это:
import sys
import lastfm
import MySQLdb
sys.stderr=sys.stdout
value="testuser"
api_key='---my api key is here'
api=lastfm.Api(api_key)
user=api.getUser(value)
top_artists=user.topArtists
любая помощь будет принята с благодарностью, или любые идеи вообще,Я даже не знаю, с чего начать.
Редактировать: я проделал еще немного работы и обнаружил, что последняя полная строка:
line 66, in _GetUsername os.getlogin() or \ OSError: [Errno 22] Invalid argument
и функция GetUsername просто так:
def _GetUsername(self):
'''Attempt to find the username in a cross-platform fashion.'''
return os.getenv('USER') or \
os.getenv('LOGNAME') or \
os.getenv('USERNAME') or \
os.getlogin() or \
'nobody'
с исправленным отступом не здесь.