当前位置: 首页 > 知识库问答 >
问题:

在数字海洋Ubuntu上设置Laravel 5.1

高山
2023-03-14

我遵循这个指南,在Ubuntu(LAMP stack)上为Digital Ocean设置Laravel 5.1。当我尝试通过单击鼠标访问我的Laravel应用程序时,我得到:

我先安装Composer,然后安装Laravel,然后安装~/。composer/vendor/bin目录在我的路径中“这样您的系统就可以找到laravel可执行文件。”

root@phpmyadmin-512mb-nyc3-01:/#cat~/. bashrc

   echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
   export PATH="$PATH:$HOME/.composer/vendor/bin"

然后按照这个指南改变我的webroot,这样我就可以像Laravel期望的那样从/Public提供服务:

nano/etc/apache2/sites enabled/000默认值。形态

然后重新启动sudo systemctl restart apache2

我无法访问我的Laravel应用程序。它给出一个500错误。为什么会这样?

PHP致命错误:未捕获意外值异常:无法打开流或文件"/var/www/html/存储/日志/laravel-2017-05-17.log":未能打开流:在 /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamH拒绝权限andler.php:107\nStack跟踪:\n#0 /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(106): Monolog\Handler\StreamHandler-

共有1个答案

沈国安
2023-03-14

您有权访问apache的错误日志吗?(或者,如果您定义了自定义日志文件,请在那里签入)。500错误通常会在apache日志文件(/var/log/apache2/error.log)或自定义错误日志中留下一个条目。

如果错误是写入“laravel.log”的权限问题,可能有多个原因:

>

cd /var/www/html/<projectname>
chmod +777 -R storage
chmod +777 -R bootstrap/cache

您需要是root用户才能使用chmod

SELinux不允许您的超文本传输协议用户写入这些文件(例如,在CentOS上)。在应用html" target="_blank">程序的基本目录(包含应用文件夹以及存储和引导文件夹的目录)中使用以下命令:

chcon -R -t httpd_sys_rw_content_t storage
chcon -R -t httpd_sys_rw_content_t bootstrap/cache

如果它是SELinux,并且您的应用程序也计划连接到MySQL,您还需要运行:

setsebool -P httpd_can_network_connect_db 1

这是为了允许httpd连接到数据库。有些地方可能会试图劝阻使用SELinux,并告诉您将其作为一个整体关闭,但不建议这样做。

 类似资料:
  • 我一直试图在数字海洋上安装SSL证书。此液滴运行NGINX/Ubuntu 16.04 x64。 我没有任何cPanel,只有一个带有SSH连接的终端。 我还与Digital Ocean的支持人员进行了交谈,他与我分享了我尝试过的两个教程。但遵循这些教程最终会破坏我的网站。 教程1 教程2 我已经编辑了/etc/nginx/nginx。conf并在block中添加了如下服务器块: 我做错了什么,正确

  • 您可以设置海洋的亮度。亮度的数值范围是 [0, 1] ,默认的亮度数值是0.5: controller.adjustOceanBrightness(0.8);

  • 我部署了一个安装了Django admin的数字海洋水滴。当我安装Django Grappelli并尝试加载管理员时,Django Grappelli中的css和js文件丢失,导致页面显示纯HTML。当我检查元素时,所有必需的图形文件都丢失了,代码为404。 有什么想法吗?? 以下是我的ettings.py供参考: 这是我的NGINX配置: NGINX错误日志:

  • 我使用Realm对象服务器运行在数字海洋的最低选项(5美元/月)在Ubuntu服务器上。我一直收到连接拒绝错误;我不知道错误是来自DO还是ROS。 我不是Ubuntu方面的专家;因此,我进入并清除了/var/log中的所有日志,并尝试重新连接。当有大量记录需要同步时,我不断收到以下错误(在iOS上,客户端): 在ubuntu端,清除所有日志后,当我尝试连接到服务器时,会再次创建一个日志,,以下是内

  • 海洋是3D地球表面表示海洋的特定区域,在Gio地球表面,海洋是最暗的区域。海洋的默认亮度是0.5。 可以通过 configure() API来设置海洋的亮度,具体设置方式如下所示: controller.configure({         brightness: {                 ocean:0.8         } }); 也可以通过 adjustOceanBrightn

  • 我在nginx代理的Digital Ocean Droplet中有几个项目,我想用pm2开始所有的项目,我看到我可以用一个带有名称和脚本的。json文件来实现这一点,但它似乎不起作用,这是我所做的: 我的droplet目录和项目: 项目1 项目2 pm2-apps.json pm2-apps.json 然后我跑 但是当我输入url时,项目似乎没有正确安装,如果我在项目文件夹中的中分开运行每个项目,