Cpanel 共享主机上的 Laravel

Posted

技术标签:

【中文标题】Cpanel 共享主机上的 Laravel【英文标题】:Laravel on Cpanel shared hosting 【发布时间】:2020-01-16 21:17:13 【问题描述】:

我浏览了大部分在线文章,但没有一个解决方案有效。

我的项目安装在/home/projectname 目录中,并创建了一个符号链接/home/projectname/public/username/public_html

存储目录也已链接。

到目前为止,我已经尝试过关注

1) 使用this答案设置文件权限

2) 我已检查是否使用php -m 命令安装了必要的扩展。

3) 还尝试将文件从/home/projctname/public 目录移动到/home/public_html 并更改必要的文件,例如server.phpindex.phpAppServiceProvider.php

以上都不起作用。

奇怪的是,如果我在public 文件夹中有index.html,那么该文件和内容可以正常访问,但index.php 文件没有被执行。

我尝试从/home/projectname/public/index.php 中回显一些字符串,但似乎index.php 没有被执行。

我还能尝试什么来解决我的问题?

谢谢

【问题讨论】:

很难识别您的错误,最好将此处的错误消息复制或截图。无论如何,请确保它有 public/.htaccess? @KakadaNeang 它在项目公共目录中有 .htaccess,我在那里没有做任何更改 因此请确保.htaccess 文件的内容与您的本地文件相同,因为有时cpanel 已对其进行了修改。其他检查你的网络服务器,它是否能够读取 public/index.php 文件? @KakadaNeang 问题在于它可以在公共文件夹中读取index.html,但不能读取index.php 【参考方案1】:

不确定这是否会有所帮助,但需要快速检查两件事。不确定您正在运行什么操作系统,但如果像带有 Apache2 的 Ubuntu,您可以检查

sudo nano /etc/apache2/mods-enabled/dir.conf

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

确保 index.php 是第一位的。然后你有虚拟主机文件吗?

<VirtualHost *:80>
    ServerName yourdomain.com

    ServerAdmin webmaster@localhost
    DocumentRoot /home/your-project/public

    <Directory /home/your-project>
        AllowOverride All
    </Directory>

    ErrorLog $APACHE_LOG_DIR/error.log
    CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>

【讨论】:

以上是关于Cpanel 共享主机上的 Laravel的主要内容,如果未能解决你的问题,请参考以下文章

如何在 cPanel 共享主机上上传 laravel 项目?

如何将 Laravel 5.5 应用部署到 Godaddy cPanel 共享主机

共享主机上的 Django 应用程序依赖项(Cpanel)

终端命令删除多个文件-CPanel,共享主机感染病毒

通过nodejs在共享cpanel主机上实现websocket服务器

如何在 cPanel 上安装 etherpad-lite(共享主机)