我正在使用子域在共享主机上部署我的laravel 5.4项目 我安装了composer,更改了index.php的路径,供应商路径,数据库主机,用户名等。
我收到以下错误
致命错误:未捕获UnexpectedValueException:" / storage / logs"中没有现有目录。并且它不可构建:权限被拒绝 /vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:171
我尝试了以下命令: php artisan cache:清楚 php artisan clear-compiled sudo chmod -R 777存储/ -R
但是(composer dump-autoload)给出了一个错误,因为php -v是5,虽然我选择它在cpanel中为7
我也尝试了setenforce 0
但没有任何事情发生..任何人都可以帮忙吗?
答案 0 :(得分:1)
php artisan route:clear
php artisan config:clear
php artisan cache:clear
为我工作!
答案 1 :(得分:0)
这是一个重复的:see here
.env
文件:a) 检查您是否有 .env
文件,如果没有,将 .env.example
复制粘贴到 .env
b) APP_DEBUG = true
(部署到服务器时,检查您的应用后 - 更改为 false)
c) APP_KEY =
(必须为空)
d) 保存 .env
文件
e) 运行 php artisan key:generate
f) 打开您的网站(所有其他错误服务器返回)
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
并按照说明操作