Php 无法将十月/Laravel部署到Google云平台
我已经连续几个小时绞尽脑汁试图找出我的代码哪里出了问题。正在尝试将新安装的十月/Laravel部署到谷歌云上的应用程序引擎实例 错误消息是典型的致命错误Php 无法将十月/Laravel部署到Google云平台,php,laravel,google-app-engine,octobercms,Php,Laravel,Google App Engine,Octobercms,我已经连续几个小时绞尽脑汁试图找出我的代码哪里出了问题。正在尝试将新安装的十月/Laravel部署到谷歌云上的应用程序引擎实例 错误消息是典型的致命错误 This page isn’t working xx.appspot.com is currently unable to handle this request. HTTP ERROR 500 查看Google cloud platform ir中的日志,最初的GET请求和500响应似乎发生在任何关于日志记录的致命错误之前 代码库在通
This page isn’t working
xx.appspot.com is currently unable to handle this request.
HTTP ERROR 500
查看Google cloud platform ir中的日志,最初的GET请求和500响应似乎发生在任何关于日志记录的致命错误之前
代码库在通过SQL代理连接到Google SQL引擎的本地环境中运行良好。这似乎是两件事中的一件:
runtime: php
env: flex
runtime_config:
document_root: .
# Ensure we skip ".env", which is only for local development
skip_files:
- .env
env_variables:
# Put production environment variables here.
APP_LOG: errorlog
APP_KEY: xxxx
STORAGE_DIR: /tmp
CACHE_DRIVER: database
SESSION_DRIVER: database
## Set these environment variables according to your CloudSQL configuration.
MYSQL_DSN: mysql:unix_socket=/cloudsql/xxx;dbname=yyy
MYSQL_USER: xx
MYSQL_PASSWORD: xx
beta_settings:
# for Cloud SQL, set this value to the Cloud SQL connection name,
# e.g. "project:region:cloudsql-instance"
cloud_sql_instances: "xx"
关于问题1:权限问题的任何帮助都将不胜感激可以通过在app.yaml中设置“runtime:custom”并创建Dockerfile来解决
FROM gcr.io/google-appengine/php73
ARG COMPOSER_FLAGS='--prefer-dist'
ENV COMPOSER_FLAGS=${COMPOSER_FLAGS}
ENV SWOOLE_VERSION=4.3.4
ENV DOCUMENT_ROOT=/app
COPY . $APP_DIR
RUN apt-get update -y \
&& apt-get install -y \
unzip \
autoconf \
build-essential \
libmpdec-dev \
libpq-dev \
&& pecl install decimal \
&& curl -o /tmp/swoole.tar.gz https://github.com/swoole/swoole-src/archive/v$SWOOLE_VERSION.tar.gz -L \
&& tar zxvf /tmp/swoole.tar.gz \
&& cd swoole-src* \
&& phpize \
&& ./configure \
--enable-async-redis \
&& make \
&& make install \
&& chown -R www-data.www-data $APP_DIR \
&& /build-scripts/composer.sh \
&& mv $APP_DIR/storage $APP_DIR/storagestatic \
&& ln -s /tmp $APP_DIR/storage \
&& cp -TRv $APP_DIR/storagestatic/ $APP_DIR/storage/ \
&& chown -R www-data.www-data $APP_DIR/storage \
&& chmod -R 777 $APP_DIR/storage ;
ENTRYPOINT ["/build-scripts/entrypoint.sh"]
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
EXPOSE 8080
关于问题2和3:您需要配置多个环境变量,并相应地修改Laravel配置。下面是app.yaml的示例:
env_variables:
APP_STORAGE_PATH: gs://inset-bucket-name/storage/app
APP_STORAGE_URL: https://storage.googleapis.com/inset-bucket-name/storage/app
APP_DEBUG: false
APP_ENV: production
SESSION_DRIVER: cookie
DATABASE_HOST: insert-database-ip
DATABASE: insert-database-name
DATABASE_USERNAME: insert-database-user
DATABASE_PASSWORD: insert-database-password
DATABASE_PORT: 3306
URL: insert-app-engine-url
KEY: insert-laravel-key
CIPHER: AES-256-CBC
完整教程:关于问题1:权限问题可以通过在app.yaml中设置“runtime:custom”并创建Dockerfile来解决
FROM gcr.io/google-appengine/php73
ARG COMPOSER_FLAGS='--prefer-dist'
ENV COMPOSER_FLAGS=${COMPOSER_FLAGS}
ENV SWOOLE_VERSION=4.3.4
ENV DOCUMENT_ROOT=/app
COPY . $APP_DIR
RUN apt-get update -y \
&& apt-get install -y \
unzip \
autoconf \
build-essential \
libmpdec-dev \
libpq-dev \
&& pecl install decimal \
&& curl -o /tmp/swoole.tar.gz https://github.com/swoole/swoole-src/archive/v$SWOOLE_VERSION.tar.gz -L \
&& tar zxvf /tmp/swoole.tar.gz \
&& cd swoole-src* \
&& phpize \
&& ./configure \
--enable-async-redis \
&& make \
&& make install \
&& chown -R www-data.www-data $APP_DIR \
&& /build-scripts/composer.sh \
&& mv $APP_DIR/storage $APP_DIR/storagestatic \
&& ln -s /tmp $APP_DIR/storage \
&& cp -TRv $APP_DIR/storagestatic/ $APP_DIR/storage/ \
&& chown -R www-data.www-data $APP_DIR/storage \
&& chmod -R 777 $APP_DIR/storage ;
ENTRYPOINT ["/build-scripts/entrypoint.sh"]
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
EXPOSE 8080
关于问题2和3:您需要配置多个环境变量,并相应地修改Laravel配置。下面是app.yaml的示例:
env_variables:
APP_STORAGE_PATH: gs://inset-bucket-name/storage/app
APP_STORAGE_URL: https://storage.googleapis.com/inset-bucket-name/storage/app
APP_DEBUG: false
APP_ENV: production
SESSION_DRIVER: cookie
DATABASE_HOST: insert-database-ip
DATABASE: insert-database-name
DATABASE_USERNAME: insert-database-user
DATABASE_PASSWORD: insert-database-password
DATABASE_PORT: 3306
URL: insert-app-engine-url
KEY: insert-laravel-key
CIPHER: AES-256-CBC
完整教程:您是否按照中的说明操作?是否按照中的说明操作?