在 Laravel 中,实现跨域访问可以通过使用第三方包 fruitcake/laravel-cors
来完成。以下是在 Debian 上安装和配置 Laravel 以实现跨域访问的步骤:
sudo apt-get update
sudo apt-get install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
composer create-project --prefer-dist laravel/laravel your_project_name
cd your_project_name
fruitcake/laravel-cors
包:composer require fruitcake/laravel-cors
app/Http/Kernel.php
文件,在 middleware
数组中添加 \Fruitcake\Cors\HandleCors::class
中间件:protected $middleware = [
// ...
\Fruitcake\Cors\HandleCors::class,
];
config
目录下创建一个名为 cors.php
的文件:php artisan vendor:publish --provider="Fruitcake\Cors\CorsServiceProvider" --tag="migrations"
php artisan migrate
config/cors.php
文件,根据你的需求自定义 CORS 设置。例如:return [
'paths' => ['api/*'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => false,
];
这里,我们允许所有来源(*
)访问 api/*
路径下的资源。你可以根据需要修改这些设置。
php artisan serve
现在,你的 Laravel 应用程序已经配置好了跨域访问。客户端可以向你的 API 发送跨域请求,而不会遇到 CORS 问题。