我在我的 cpanel 中托管 laravel 5.1,但它总是出现错误。我尝试了每种方法(htaccess、chmod 644 和存储给出或 r+W),但它在我的 cpanel 中不起作用,但是当我从索引中删除以下行时公共文件夹的 .php 它可以访问 index.php 文件:
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
这样它就可以访问我的文件夹。有谁能够帮助我?会不会是cpanel的php版本导致的?
将此代码粘贴到将位于公共文件夹中的index.php文件的顶部:
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
然后访问您项目的 URL,您将看到问题,因为哪个 laravel 引发了此错误。
对于 Laravel,这些是必需的,请确认这一点
PHP >= 5.5.9
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
如何在任何共享主机上托管 Laravel 5.1.* 应用程序的过程:
laravel-app
的目录或任何您想要的内容。public
目录之外的所有内容从应用程序的根目录复制到新创建的文件夹中。在这种情况下laravel-app
。public
目录的内容复制到您的 public_html
目录中。index.php
目录中的 public_html
文件。更改以下行:
require __DIR__.'/../bootstrap/autoload.php';
到
require __DIR__.'/../../laravel-app/bootstrap/autoload.php';
并更改以下行:
$app = require_once __DIR__.'/../bootstrap/app.php';
到
$app = require_once __DIR__.'/../../laravel-app/bootstrap/app.php';
上传前:
请确保您已启用 Laravel 应用程序所需的所有插件。而且您正在使用 PHP >= 5.5.* 。如果您不知道如何查看默认启用了哪些插件。
请按照以下步骤操作:
fileinfo
来安装 Save
扩展。完成。您的 Laravel 应用程序位于共享托管帐户上。
您可以访问 yourdomain.com 进行检查
希望这对您有帮助。快乐编码。干杯。
谢谢大家..我解决了..在cpanel中有php选择器。所以我将其更改为 5.6 并上传供应商的所有文件夹,而不是授予 ech 文件夹和文件正确的权限..
检查以下步骤:
按照上述答案之一,我在公共文件夹的index.php文件的开头编写了这段代码(
public/index.php
):
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
重新加载网站后,我发现问题来自供应商文件夹。意味着 Composer 文件夹尚未更新。我在 CPANEL 的Terminal中运行了这些命令:
cd laravelfolder //public_html or your code root directory
composer update