0

我知道这里有类似标题的问题,但似乎没有一个对我有用,因此有理由创建一个新问题。

所以这就是问题所在,我有一个可以在本地主机上完美运行的网站,我确信那里有 PDO 支持,但是在我的共享主机上上传后,我得到了

Symfony \ Component \ Debug \ Exception \ FatalErrorException(E_UNKNOWN)找不到类'PDO'

这里的解决方案都涉及编辑 php.ini 和安装 PDO,但是,我在共享主机上,无法访问 php.ini 文件或 ssh。

我正在使用带有 voyager 后端的 laravel 5.5、php 版本 7.2。

这是我的 .htaccess 的样子

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>
    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

<IfModule mime_module>
  AddType application/x-httpd-ea-php72 .php .php7 .phtml
</IfModule>

在此处输入图像描述 任何帮助将不胜感激。谢谢。

4

2 回答 2

2

联系您的托管支持,让他们为您启用 PDO。

在某些主机中,您可以通过在主机根目录中创建 php.ini 文件来覆盖 php.ini。如果您在 Windows 主机中,这些是您需要在 php.ini 中启用的扩展。

extension=php_pdo.dll
extension=php_pdo_mysql.dll

编辑:

检查您的托管服务提供商是否已安装 PDO。创建 index.php 文件或您可以访问的任何其他文件。内容必须有

<?php
    phpinfo();
?>

如果已经安装了 PDO,接下来要做的是运行 composer install(需要 SSH 访问)。您必须事先删除您的供应商文件夹。假设您的公用文件夹是 /var/www/html。转到html目录并运行

composer install
于 2018-04-12T13:42:34.320 回答
1

已经晚了,但我在这里是我的解决方案。我在 Laravel 5.6 中遇到了同样的问题,并且由于某种原因我没有 SSH 访问权限。但是当我将我PHP version的 from更改7.27.1它时,它对我有用。

希望这适用于没有外壳访问权限的人。

于 2018-07-26T18:44:40.597 回答