2 回答
TA贡献1829条经验 获得超6个赞
我认为您的文件夹结构是这样的原因是您的 GoDaddy 主机是 Windows 共享主机。
基本上需要做的是在主目录上为您的应用程序创建一个文件夹,然后在 httpdocs 上,将您的应用程序中的公共文件夹放入其中。
GoDaddy Plesk 文件夹列表:
cgi-bin
错误文档
http文档
日志
<您的 laravel 应用程序文件夹减去“Public”文件夹>
在 httpdocs 文件夹内:
应用程序数据
.user.ini
默认.aspx
网络配置
<+ 公共文件夹的内容>
完成后,您将需要编辑一些文件:
来自公共文件夹:index.php
查找:
require __DIR__.'/../vendor/autoload.php';
更改为:
require __DIR__.'/../<laravel app folder>/vendor/autoload.php';
下一个查找:
$app = require_once __DIR__.'/../bootstrap/app.php';
更改为:
$app = require_once __DIR__.'/../<laravel app folder>/bootstrap/app.php';
此后,请确保.env文件已正确配置,并且本地数据库中的所有表都已镜像到服务器数据库中。
另外,如果您遇到open_dir问题,您可以在Plesk 的 PHP 设置中禁用它,但我不确定从长远来看这会导致什么问题。
TA贡献1834条经验 获得超8个赞
嗯,有两种方法...
第一个在 cpanel 中搜索“Installatron 应用程序安装程序”或某种应用程序安装程序:) 在右上角的 installatron 应用程序安装程序屏幕中找到“应用程序浏览器”,从那里搜索 Laravel 并通过选择您的域来安装它(如果您有多个域)
安装后,复制本地文件并将其替换为远程文件。
第二种方法,.zip 本地 laravel 文件夹。并将文件上传到服务器,然后提取文件。
现在从这里开始,两种方式都是一样的->
laravel 项目中的“public”目录将位于远程服务器的根目录中(您的域的根文件夹,如果您有 ex. public_html/example.com 的插件域,那么“public”文件夹应该位于该 example.com 中)
创建另一个文件夹并将所有其他 Laravel 文件和文件夹放入该文件夹中。
打开并编辑 /public/index.php 更改这两行->
需要DIR .'/../vendor/autoload.php'; app = require_once DIR .'/../bootstrap/app.php';
以反映服务器中的文件结构。对于前。如果“public”文件夹与“vendor”和“bootstrap”位于同一目录中,则删除/..
编辑 .env 文件,注意数据库凭据。PS:不要更改数据库主机地址,它应该保持不变。
最后, 您需要有两个 .htaccess文件 ,其中一个位于“public”目录内容中,如下所示->
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
第二个 .htaccess 文件将位于域的根文件夹中,内容为 >
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
如果 php 版本问题表明 Composer 依赖项版本是 php7.xx bla bla,您可能会遇到一个问题
如果发生这种情况,请再次转到 cpanel 并搜索“选择 PHP 版本”,从那里更改您当前的 PHP 版本以适应您在错误中遇到的 PHP 版本。并且您需要单击“设置为当前”!
TA贡献1821条经验 获得超4个赞
完成后我仍然无法获取内部 api 路由。显示的错误是 404。Laravel 主页可以查看,但http://example.com/api/user/login等内部页面无法正常工作
解决方案:
我在以下链接的帮助下解决了这个问题
Pleask 上的 Laravel 项目除主页外其他路线均无法使用
https://jimfrenette.com/2016/09/laravel-iis-windows-install/
一切都按照上面的解释完成,唯一的区别是 Windows 服务器和 IIS 不遵循 .htaccess,因此我们必须在 web.config 文件中执行此操作。所以我只是复制了https://jimfrenette.com/2016/09/laravel-iis-windows-install/ web.config 配置并将其粘贴到我的公共文件夹 web.config 文件中,然后一切正常。
我希望这对其他在这个问题上摸不着头脑的人也有帮助。
- 2 回答
- 0 关注
- 155 浏览
添加回答
举报