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.php
、index.php
和AppServiceProvider.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 共享主机