Получение «преждевременного завершения заголовков скриптов» на веб-странице Dreamhost Python - PullRequest
0 голосов
/ 29 января 2019

У меня есть веб-страница, созданная в Python Flask с Python 2.7 (я знаю), размещенная на Dreamhost.Еще несколько дней назад у меня не было абсолютно никаких проблем.Затем я начал получать ошибку разрешения на моей странице.Я не знаю, что случилось, но я получил живой чат Dreamhost, и они решили это, выполнив chmod 755 для моих файлов.Все снова работало, но при дальнейшей проверке все части, которые генерируют PDF-документ на моей веб-странице, перестали работать.Ошибка, которую я получаю в журналах ошибок: «Преждевременный конец заголовков сценариев».

Эта ошибка появляется только всякий раз, когда я пытаюсь создать PDF.Код отлично работает в моей локальной среде, но он не работает на хостинге.Я снова встретился с людьми из Dreamhost, и они сказали, что это ничего не значит на их стороне.Что странно, учитывая, что код, который УЖЕ РАБОТАЛ, не изменился вообще.Я попытался отладить со своей стороны, но я не получаю никаких ошибок.

Я перепробовал почти все, что я могу придумать, чтобы решить эту ситуацию, но у меня не получилось.Я хочу изменить этот хостинг (с моей стороны было ошибкой использовать Dreamhost, я знаю. Но когда я сделал это, я только начинал, и у меня было очень мало знаний).Но на данный момент мне нужно более быстрое решение, и мне было интересно, если бы у кого-то была эта проблема, и, возможно, она могла бы помочь мне с этим.

Чтобы уточнить, я использую Python 2.7, библиотеку, которая используется длясоздание PDF - Flask-Weasyprint (0.5).Я попытался запустить файл wsgi самостоятельно и получаю следующее сообщение:

/path/to/local/lib/python2.7/site-packages/WeasyPrint-0.39-py2.7.egg/weasyprint/text.py:29: UserWarning: There are known rendering problems with Cairo <= 1.14.0 warnings.warn('There are known rendering problems with Cairo <= 1.14.0') /path/to/local/lib/python2.7/site-packages/WeasyPrint-0.39-py2.7.egg/weasyprint/fonts.py:46: UserWarning: @font-face support needs Pango >= 1.38 warnings.warn('@font-face support needs Pango >= 1.38')

Я знаю, что должен перейти на Python 3. Когда я создал это веб-приложение, только DreamhostЯ принял Python 2, и у меня почти не было знаний о создании VPS или чего-то подобного.В ближайшее время я планирую сменить хостинг на виртуальную машину и запустить проект на Python 3. Но мне нужно решение для этого, прежде чем я продолжу.

Любая помощь будет принята с благодарностью.Если вам нужно больше деталей, пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 16 марта 2019

Это может быть связано с тем, что файл Passenger не содержит каталог вашего проекта в своем пути.Одним из решений является добавление следующего в ваш файл passenger_wsgi.py:

sys.path.append(os.getcwd()+"/<project_name>")
...