部署了Dokku的Silex找不到PdoServiceProvider [英] Dokku deployed Silex can't find PdoServiceProvider

查看:90
本文介绍了部署了Dokku的Silex找不到PdoServiceProvider的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个与Silex合作的项目,我使用herrera-io/silex-pdo作为PDO提供程序,但是由于套接字错误(我通过套接字连接到DB),我遇到了随机崩溃,因为该lib被放弃了,所以我改成csanquer/pdo-service-provider,它在我的本地主机服务器上正常工作,但是当我部署到远程服务器时,出现以下错误:

I have a project done with Silex, and I was using herrera-io/silex-pdo as the PDO provider, but I faced random crashes with socket errors (I connect to the DB via socket), since that lib is abandoned, I changed to csanquer/pdo-service-provider, and it works just fine on my localhost server, but when I deploy to remote, I get the following error:

PHP Fatal error: Class 'Csanquer\Silex\PdoServiceProvider\Provider\PdoServiceProvider' not found in /app/web/index.php on line 52

PHP Fatal error: Class 'Csanquer\Silex\PdoServiceProvider\Provider\PdoServiceProvider' not found in /app/web/index.php on line 52

这是第52行的代码:

use Csanquer\Silex\PdoServiceProvider\Provider\PdoServiceProvider;

$app->register(
// you can customize services and options prefix with the provider first argument (default = 'pdo')
    new PdoServiceProvider('pdo'), // Line 52
    array(
        'pdo.server'   => array(
            // PDO driver to use among : mysql, pgsql , oracle, mssql, sqlite, dblib
            'driver'   => 'mysql',
            'host'     => 'unix_socket=/app/mysqld.sock',
            'dbname'   => 'db_beta',
            'port'     => 3306,
            'user'     => 'user',
            'password' => 'pass',
        ),
        // optional PDO attributes used in PDO constructor 4th argument driver_options
        // some PDO attributes can be used only as PDO driver_options
        // see http://www.php.net/manual/fr/pdo.construct.php
        'pdo.options' => array(
            \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"
        ),
        // optional PDO attributes set with PDO::setAttribute
        // see http://www.php.net/manual/fr/pdo.setattribute.php
        'pdo.attributes' => array(
            \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
        ),
    )
);

在此先感谢您提供任何帮助或任何线索,以防万一!

Thanks in advance for any help, or any clue of what may be going wrong!

推荐答案

原来问题出在使用说明上.要解决此问题,只需更改:

Turns out the problem was with the use instructions. To fix, simply change:

use Csanquer\Silex\PdoServiceProvider\Provider\PdoServiceProvider; 到: use Csanquer\Silex\PdoServiceProvider\Provider\PDOServiceProvider;

并且:

new PdoServiceProvider('pdo')发送至:new PDOServiceProvider('pdo')

现在可以了!

这篇关于部署了Dokku的Silex找不到PdoServiceProvider的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆