繁体   English   中英

运行beansbooks的安装部分时出现Php / kohana错误

[英]Php/kohana error when running install portion of beansbooks

问题

我已经安装了beansbooks ,我在最后一步,但是当我转到localhost / install时,我收到以下错误:

发生了致命错误:Session_Exception [1]:读取会话data.exception的错误'ErrorException',消息'mysql_select_db()期望参数2是资源,布尔给定'在/ var / www / html / modules / database / classes / kohana / database / mysql.php:105堆栈跟踪:#0 [内部函数]:Kohana_Core :: error_handler(2,'mysql_select_db ...','/ var / www / html / m ...',105,数组)#1 /var/www/html/modules/database/classes/kohana/database/mysql.php(105):mysql_select_db('kohana',false)#2 / var / www / html / application / classes / database / mysql.php(75):Kohana_Database_MySQL-> _ select_db('kohana')#3 /var/www/html/modules/database/classes/kohana/database/mysql.php(430):Database_MySQL-> connect()#4 /var/www/html/modules/database/classes/kohana/database.php(478):Kohana_Database_MySQL->转义('5c8da306617b91 -...')#5 [内部功能]:Kohana_Database-> quote('5c8da306617b91- ...')#6 /var/www/html/modules/database/classes/kohana/database/query.php(190):array_map(Array,Array)#7 / var / www / html /modules/database/classes/kohana/database/query/builder/select.php(413):Kohana_Database_Query-> compile(Object(Database_MySQL))#8 / var / www / html / modules / database / classes / kohana / database /query.php(228):Kohana_Database_Query_Builder_Select-> compile(Object(Database_MySQL))

9 /var/www/html/modules/database/classes/kohana/session/database.php(131):

Kohana_Database_Query-> execute(Object(Database_MySQL))#10 /var/www/html/modules/database/classes/kohana/session/database.php(111):Kohana_Session_Database-> _ regenerate()#11 / var / www / html /system/classes/kohana/session.php(300):Kohana_Session_Database - > _ read(NULL)#12 /var/www/html/system/classes/kohana/session.php(125):Kohana_Session-> read(NULL) #13 /var/www/html/modules/database/classes/kohana/session/database.php(74):Kohana_Session - > __ construct(Array,NULL)#14 / var / www / html / system / classes / kohana / session.php(54):Kohana_Session_Database - > __ construct(Array,NULL)#15 /var/www/html/application/classes/controller/view.php(49):Kohana_Session :: instance()#16 / var / www /html/application/classes/controller/exception.php(27):Controller_View-> before()#17 [内部函数]:Controller_Exception-> before()#18 / var / www / html / system / classes / kohana / request / client / internal.php(103):ReflectionMethod-> invoke(Object(Controller_Exception))#19 /var/www/html/system/classes/kohana/request/client.p hp(64):Kohana_Request_Client_Internal-> execute_request(Object(Request))#20 /var/www/html/system/classes/kohana/request.php(1154):Kohana_Request_Client-> execute(Object(Request))#21 / var / www / html / application / classes / kohana / exception.php(25):Kohana_Request-> execute()#22 [内部函数]:Kohana_Exception :: handler(Object(Session_Exception))#23 {main} ~SYSPATH / classes / kohana / session.php [325]

我该如何解决这个问题?

系统

PHP5

Ubuntu 14.04

Mysql 5.5

的Apache2

您连接数据库时遇到问题,因为没有返回资源,只是错误。

你有几个选择:

  • 重新检查配置中的连接数据
  • 切换到PDO数据库驱动程序
  • 库中的快速hack:

MODPATH\\database\\classes\\Kohana\\Database\\MySQL.php方法connect()之前: $this->_select_db($database); 您添加:

if(!$this->_connection)
  throw new Database_Exception(':error',
            array(':error' => mysql_error()),
            mysql_errno());

注意:PDO存在一个不支持自动发现模型的问题。 但调试连接就足够了。

嗯,这可以根据现有技术完成,而无需修改模块:

创建文件: APPPATH\\classes\\Database\\MySQL.php

class Database_MySQL extends Kohana_Database_MySQL{
  protected function _select_db($database) {
    if(!$this->_connection)
      throw new Database_Exception(':error',
            array(':error' => mysql_error()),
            mysql_errno());
    return parent::_select_db($database);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM