【问题标题】:deploying laravel error on shared host在共享主机上部署 laravel 错误
【发布时间】:2018-06-07 09:05:42
【问题描述】:

我正在使用子域在共享主机上部署我的 laravel 5.4 项目 我安装了作曲家,更改了 index.php 的路径,供应商路径,数据库主机,用户名等。

我收到以下错误

致命错误:未捕获的 UnexpectedValueException:“/storage/logs”中没有现有目录,并且不可构建:权限被拒绝 /vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:171

我尝试了以下命令: php工匠缓存:清除 php artisan 清晰编译 sudo chmod -R 777 存储/ -R

但是(composer dump-autoload)给出了一个错误,因为 php -v 是 5,尽管我在 cpanel 中选择它是 7

我也试过 setenforce 0

但是什么也没发生.. 有谁能帮忙吗??

【问题讨论】:

  • 你解决过这个问题吗?

标签: laravel laravel-5 deployment


【解决方案1】:

这是一个副本:see here

  1. 在 laravel 根文件夹中检查您的 .env 文件:

a) 检查您是否有 .env 文件,如果没有,请将 .env.example 复制粘贴到 .env

b) APP_DEBUG = true(部署到服务器时,检查您的应用后 - 更改为 false)

c) APP_KEY = (这些必须为空)

d) 保存.env 文件

e) 运行php artisan key:generate

f) 打开您的网站(服务器返回所有其他错误)

  1. 运行composer install

这是我在 Ubuntu 20.4 上的 apache2 解决方案

我假设您已经完成了 phwt 和 Taras 的步骤。这些仍然是必要的。

你需要改变:

  • ServerName 到您的 IP 地址或域
  • DocumentRoot 指向你的公共 Laravel 目录的路径
  • RewriteCond %{SERVER_NAME} = 到您的 IP 地址或域

文件:/etc/apache2/sites-available/laravel.conf

<VirtualHost *:80>
   ServerName www.mylaravelproject.com
   ServerAdmin webmaster@localhost
   DocumentRoot /var/www/laravel/public/

   <Directory /var/www/laravel/public/>
       AllowOverride All
   </Directory>
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.mylaravelproject.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

保存此运行后:

sudo a2ensite laravel.conf
sudo systemctl restart apache2

(可选,推荐)如果您想使用 SSL 证书,请执行以下操作: sudo certbot 并按照说明进行操作

【讨论】:

    【解决方案2】:

    php工匠路线:清除

    php 工匠配置:清除

    php 工匠缓存:清除

    为我工作!

    【讨论】:

      猜你喜欢
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2020-11-10
      • 1970-01-01
      • 2017-07-06
      • 2020-11-29
      • 2014-11-01
      相关资源
      最近更新 更多