Adr*_*ian 2 php shared-hosting cpanel laravel
我正在使用 cPanel 为我的网站上传一个简单的订阅页面。我将文件上传到public_html,从public文件夹中移动文件并修改index.php使其指向应用程序。我用来编写这个应用程序的 PHP 版本是7.3,但我必须在主机中选择 7.2 版本,因为这是最新的可用版本。
当我加载我的网站时,我收到此错误“此页面无法正常工作 bazzaar.net 当前无法处理此请求。HTTP 错误 500”
当我从 index.php 文件中删除所有内容并添加一个简单的 echo 页面时。
我真的需要这方面的帮助。错误日志如下:
堆栈跟踪:
#0 /home3/bazzaar/public_html/vendor/symfony/http-foundation/Response.php(198): Symfony\Component\HttpFoundation\Response->setStatusCode(500)
#1 /home3/bazzaar/public_html/vendor/symfony/http-foundation/Response.php(214): Symfony\Component\HttpFoundation\Response->__construct('<!doctype html>...', 500, Array)
#2 /home3/bazzaar/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(328): Symfony\Component\HttpFoundation\Response::create('<!doctype html>...', 500, Array)
#3 /home3/bazzaar/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(305): Illuminate\Foundation\Exceptions\Handler->convertExceptionToResponse(Object(Symfony\Component\Er in /home3/bazzaar/public_html/vendor/symfony/http-foundation/Response.php on line 450
Run Code Online (Sandbox Code Playgroud)
我的.htacess 文件
suPHP_ConfigPath /opt/php72/lib
选项 -MultiViews -Indexes
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]
Run Code Online (Sandbox Code Playgroud)
# 默认使用 PHP72
Soh*_*med 30
您不需要更改 Laravel 的结构。只需复制下面的 htaccess 代码并将其粘贴到 Laravel 项目根目录下的 .htaccess 文件中即可。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^$ public/index.php [L]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
are*_*n2k 15
我为 Laravel 8、9 和 10 版本提供了一个有效且轻松的系统。你可以关注一下,希望对你有帮助:
需要 __DIR__.'/../vendor/autoload.php';
到:
需要 __DIR__.'/vendor/autoload.php';
并更改此行:
$app = require_once __DIR__.'/../bootstrap/app.php';
到:
$app = require_once __DIR__.'/bootstrap/app.php';
如果您在应用程序中使用的公共文件夹中有图像,您将看到在整个应用程序中,您的图像没有显示。
现在转到.env文件并添加以下行:
ASSET_URL=公共
在某些情况下,管理 URL 无法工作。如果您发现任何问题,可以像这样更改 ASSET_URL:
ASSET_URL=https://yourwebsite.com/public
所有任务都完成了!
现在只需将您的应用程序上传到共享服务器即可正常工作。
Sac*_*ola 11
如果您使用 Apache 服务器,您可以执行以下简单步骤
第 1 步:只需将所有源代码上传到服务器上(确保数据库和 .env 设置良好)i) 制作 zip 并解压它 ii) 使用 git 部署代码或从存储库中克隆并安装所有依赖项
步骤2:在项目根目录下创建一个.htaccess文件,并将以下代码复制并粘贴到该文件中。
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
Run Code Online (Sandbox Code Playgroud)
小智 7
假设 cpanel 没有其他网站,并且您的 Laravel 项目应该是默认项目。
public_html文件夹该网站可能会提供更多详细信息https://dev.to/asapabedi/deploying-laravel-5-applications-on-shared-hosting-without-the-use-of-ssh--16a6
截至 2020 年 5 月,LARAVEL 7.0
这对我有用:
将 cpanel 的 php 版本更新为 laravel 版本的要求,比如 laravel 7.0 需要https://laravel.com/docs/7.x/installation
检查是否安装了所有必需的扩展
然后,如果您遇到 .htacess 问题,我建议您通过以下方式进行测试:
创建一个简单的 index.html
只需添加一行,例如
通过...上传您的数据库(假设它已经导出)
转到MySQL数据库,
使用要添加的数据库的确切名称创建一个数据库
,然后创建一个MySQL用户并授予他数据库的所有权限
转到cpanel中的phpmyadmin并导入导出的sql文件
压缩您正在运行的 Laravel 项目并将其上传到主文件夹
在 cpanel 中提取并...
请注意:
将所有文件夹放在主页中
选择 public 的内容,包括 .htaccess 到 public_html
警告:不要碰你的index.php或server.php
使隐藏文件在您的 cpanel 中可见,然后最后通过以下方式编辑 .env 文件...
仅编辑数据库用户名和密码(我希望数据库名称相同)
此外,您还希望将 APP_DEBUG 保留为 true 以进行测试(您必须测试)
当一切顺利时将其更改为 false
如果您没有数据库,那么什么已经在等待刷新了
即使有数据库,现在也是时候刷新了
按着这些次序:
例如
需要DIR .'/../vendor/autoload.php';
到
需要DIR .'/vendor/autoload.php';
和
$app = require_once DIR .'/../bootstrap/app.php';
到
$app = require_once DIR .'/bootstrap/app.php';
| 归档时间: |
|
| 查看次数: |
29167 次 |
| 最近记录: |