Вчера я провел (почти) воскресенье, перенося мою установку WordPress в Google Cloud, следуя их руководству по установке WordPress. Я не дошел до того, что мне нужна помощь, я обнаружил 500 ошибок при тестовой отправке формы подписки: http://v-sons.appspot.com/wtf/#subscribe
Будучи новичком в GCE, я не знаю, как это работает, но мне удалось отработать некоторые другие ошибки 404, когда я перенес шрифты и видео поверх, потому что мне нужно было включить типы файлов в app.yaml. Я добавил:
- url: /wp-content/(.*\.(eot|svg|ttf|woff))$
static_files: wordpress/wp-content/\1
upload: wordpress/wp-content/.*\.(eot|svg|ttf|woff)$
application_readable: true
- url: /wp-content/(.*\.(mp4|ogv|webm))$
static_files: wordpress/wp-content/\1
upload: wordpress/wp-content/.*\.(mp4|ogv|webm)$
application_readable: true
Вернуться к сценарию подписки. Это определенно работает, потому что он все еще работает на старом сервере в качестве живой версии сайта здесь — https://vsons.co.uk
Как я уже упоминал, я не до конца понимаю, что Google делает с другими файлами, но в app.yaml он, похоже, устанавливает загрузку в статический режим. Так как subscribe.php — это скрипт, я подумал, нужно ли его устанавливать как один в yaml. например
- url: wp-content/themes/vrn/.*
script: subscribe.php
В app.yaml также нет упоминания о php, поэтому формат файла не был определен отдельно от runtime: php
, Сказав это, очевидно, что wp встроен в php, а все остальное вроде бы нормально загружается. Если бы кто-то мог пролить некоторый свет на то, почему я вижу ошибку 500 и что может запускать GoogleApp Engine Launcher с моим кодом, это помогло бы мне без конца!
Надеюсь, вопрос достаточно тщательный!
В качестве обновления для тех, кто испытывает ту же проблему. Я использовал журналы (спасибо @Shaunak), чтобы понять, что проблема была с curl_init()
и Google App Engine не поддерживает его, поэтому я отправился на поиски альтернативы.
Благодаря решению, опубликованному в другой теме — Замена CURL на urlfetch в PHP, Я смог найти это url_fetch()
был эквивалент Google, но без опыта написания такого рода кода это будет трудно. Однако в дальнейшем @ user3275764 обратил мое внимание на эту замечательную библиотеку: https://github.com/azayarni/purl что по существу позволило мне использовать мой существующий код без каких-либо дополнительных проблем, просто нужно было включить.
Я уверен, что это, вероятно, довольно часто встречающаяся проблема с App Engine, поэтому я удивлен, что не смог ее решить, но спасибо за все ваши комментарии и помощь на этом пути!
Руфус
Других решений пока нет …