如何在 Netlify 上托管 Laravel 网站?

How to host a Laravel website on Netlify?

我正在尝试在 Netlify 上托管我的 Laravel 网站。

我最初使用 Laravel Forge 来部署和托管我的网站。 Laravel forge 上使用的部署脚本是:

cd /home/forge/lucaban.com
git pull origin master
composer install --no-interaction --prefer-dist --optimize-autoloader
echo "" | sudo -S service php7.1-fpm reload

if [ -f artisan ]
then
    php artisan migrate --force
fi

有什么方法可以在 Netlify 上托管网站并 运行 这些作曲家命令?因为我认为我只能将 NodeJS 命令插入到构建命令输入中。

我的网站还没有成功...

您不能在 Netlify 上托管 laravel 站点。查看 https://jamstack.org 了解更多关于 Netlify 托管服务背后的理念。

虽然您可以在 build 环境中使用 php(composer install 应该可以,但您可能希望将 PHP_VERSION 设置为 7.2因为默认为 5.6),构建过程旨在创建静态输出文件 - html、css、js、图像等 - 然后 Netlify 可以从其 CDN 提供服务而无需 运行在服务器端添加更多代码。虽然比较不是很完美,但想象一下您构建的输出(限制为 15 分钟并且没有传入网络连接)是一堆文件,它们存储在 S3 上并按原样提供。因此,如果您最终得到 file.php - Netlify 将显示文件中的代码,而不是 运行。

您不能在 Netlify 上托管 laravel、wordpress、drupal、magento 等网站,尽管 Netlify 和 JAMstack 运动断言您不需要 运行 的旧网站每次访问 运行 大部分网络时都会出现 s 代码,并且将网站的动态部分减少为小型服务非常有价值,例如 form-handling or lambda functions. Here's a case study on a customer who migrated their site from wordpress to Netlify and includes authentication, comments, and e-commerce: https://www.netlify.com/blog/2017/03/16/smashing-magazine-just-got-10x-faster/

您可能想看看 Vapor,它是 Laravel 的无服务器部署平台:

https://vapor.laravel.com