将 Laravel 应用程序部署到 Google App Engine
Deploying Laravel app to Google App Engine
我正在尝试将我的 Laravel 7.29.3 应用程序部署到 Google App Engine 标准环境。我已按照位于此处 https://cloud.google.com/community/tutorials/run-laravel-on-appengine-standard 的指南进行操作。但是,当我查看我的部署时,我收到 View[Welcome] not found 错误。我的 app.yaml 文件如下所示:
runtime: php72
env_variables:
## Put production environment variables here.
APP_KEY: YOUR_APP_KEY
APP_STORAGE: /tmp
VIEW_COMPILED_PATH: /tmp
SESSION_DRIVER: cookie
这是一个非常简单的 yaml 文件,因为我只使用了欢迎视图和到联系页面的路由。请注意,我在此版本中没有使用任何数据库。请在下面查看我的路线:
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::post('contact', 'ContactFormController@ContactForm');
我也在这里查看了这个问题:View [welcome] not found 但我仍然遇到同样的错误。根据我对@sllopis 评论的理解,我需要将 welcome.blade.php 文件放在布局文件夹中。我已经这样做了,但仍然得到同样的错误。如有任何帮助,我们将不胜感激。
谢谢
我找到了解决办法。首先,您可以将处理程序添加到 app.yaml 文件中。它应该如下所示:
runtime: php72
handlers:
- url: /(.*\.(gif|png|jpg|css|js))$
static_files: public/
upload: public/.*\.(gif|png|jpg|css|js)$
- url: /.*
secure: always
redirect_http_response_code: 301
script: auto
env_variables:
## Put production environment variables here.
APP_KEY: YOUR_APP_KEY
APP_STORAGE: /tmp
VIEW_COMPILED_PATH: /tmp
SESSION_DRIVER: cookie
来源:
然后您可以更新 config/filesystems.php 文件。您可以按照下面提供的示例添加新的文件系统。
'gcs' => [
'driver' => 'gcs',
'project_id' => env('GOOGLE_CLOUD_PROJECT_ID', 'your-project-id'),
'key_file' => env('GOOGLE_CLOUD_KEY_FILE', null), // optional: /path/to/service-account.json
'bucket' => env('GOOGLE_CLOUD_STORAGE_BUCKET', 'your-bucket'),
'path_prefix' => env('GOOGLE_CLOUD_STORAGE_PATH_PREFIX', null), // optional: /default/path/to/apply/in/bucket
'storage_api_uri' => env('GOOGLE_CLOUD_STORAGE_API_URI', null), // see: Public URLs below
'visibility' => 'public', // optional: public|private
],
然后像这样更新您的默认文件系统:
'default' => env('FILESYSTEM_DRIVER', 'gcs'),
使用以下命令安装 Laravel Google 云存储包:
composer require superbalist/laravel-google-cloud-storage
来源:
您可以在这里进行 gcloud app deploy
和 gcloud app browse
。如果您遇到更多错误,请执行 php artisan config:clear
。这应该会清除任何缓存的配置。
我正在尝试将我的 Laravel 7.29.3 应用程序部署到 Google App Engine 标准环境。我已按照位于此处 https://cloud.google.com/community/tutorials/run-laravel-on-appengine-standard 的指南进行操作。但是,当我查看我的部署时,我收到 View[Welcome] not found 错误。我的 app.yaml 文件如下所示:
runtime: php72
env_variables:
## Put production environment variables here.
APP_KEY: YOUR_APP_KEY
APP_STORAGE: /tmp
VIEW_COMPILED_PATH: /tmp
SESSION_DRIVER: cookie
这是一个非常简单的 yaml 文件,因为我只使用了欢迎视图和到联系页面的路由。请注意,我在此版本中没有使用任何数据库。请在下面查看我的路线:
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::post('contact', 'ContactFormController@ContactForm');
我也在这里查看了这个问题:View [welcome] not found 但我仍然遇到同样的错误。根据我对@sllopis 评论的理解,我需要将 welcome.blade.php 文件放在布局文件夹中。我已经这样做了,但仍然得到同样的错误。如有任何帮助,我们将不胜感激。
谢谢
我找到了解决办法。首先,您可以将处理程序添加到 app.yaml 文件中。它应该如下所示:
runtime: php72
handlers:
- url: /(.*\.(gif|png|jpg|css|js))$
static_files: public/
upload: public/.*\.(gif|png|jpg|css|js)$
- url: /.*
secure: always
redirect_http_response_code: 301
script: auto
env_variables:
## Put production environment variables here.
APP_KEY: YOUR_APP_KEY
APP_STORAGE: /tmp
VIEW_COMPILED_PATH: /tmp
SESSION_DRIVER: cookie
来源:
然后您可以更新 config/filesystems.php 文件。您可以按照下面提供的示例添加新的文件系统。
'gcs' => [
'driver' => 'gcs',
'project_id' => env('GOOGLE_CLOUD_PROJECT_ID', 'your-project-id'),
'key_file' => env('GOOGLE_CLOUD_KEY_FILE', null), // optional: /path/to/service-account.json
'bucket' => env('GOOGLE_CLOUD_STORAGE_BUCKET', 'your-bucket'),
'path_prefix' => env('GOOGLE_CLOUD_STORAGE_PATH_PREFIX', null), // optional: /default/path/to/apply/in/bucket
'storage_api_uri' => env('GOOGLE_CLOUD_STORAGE_API_URI', null), // see: Public URLs below
'visibility' => 'public', // optional: public|private
],
然后像这样更新您的默认文件系统:
'default' => env('FILESYSTEM_DRIVER', 'gcs'),
使用以下命令安装 Laravel Google 云存储包:
composer require superbalist/laravel-google-cloud-storage
来源:
您可以在这里进行 gcloud app deploy
和 gcloud app browse
。如果您遇到更多错误,请执行 php artisan config:clear
。这应该会清除任何缓存的配置。