简体   繁体   English

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

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

Problem 问题

I have installed beansbooks and I'm at the last step, but when I go to localhost/install, I get the following error: 我已经安装了beansbooks ,我在最后一步,但是当我转到localhost / install时,我收到以下错误:

A fatal error has occurred: Session_Exception [ 1 ]: Error reading session data.exception 'ErrorException' with message 'mysql_select_db() expects parameter 2 to be resource, boolean given' in /var/www/html/modules/database/classes/kohana/database/mysql.php:105 Stack trace: #0 [internal function]: Kohana_Core::error_handler(2, 'mysql_select_db...', '/var/www/html/m...', 105, Array) #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->escape('5c8da306617b91-...') #5 [internal function]: Kohana_Database->quote('5c8da306617b91-...') #6 /var/www/html/modules/database/classes/kohana/database/query.php(190): array_map(Array, Array) #7 /var/www/html 发生了致命错误: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)) /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): 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 [internal function]: 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 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 [internal function]: Kohana_Exception::handler(Object(Session_Exception)) #23 {main} ~ SYSPATH/classes/kohana/session.php [ 325 ] 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]

How do I solve this problem? 我该如何解决这个问题?

System 系统

php5 PHP5

Ubuntu 14.04 Ubuntu 14.04

Mysql 5.5 Mysql 5.5

apache2 的Apache2

You have problems connecting to the database, because the resource is not returned, just error. 您连接数据库时遇到问题,因为没有返回资源,只是错误。

You have several options: 你有几个选择:

  • re-checking the connection data in config 重新检查配置中的连接数据
  • switching to PDO database driver 切换到PDO数据库驱动程序
  • fast hack in the library: 库中的快速hack:

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

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

NOTE: There is a problem with PDO that does not support automatic discovery of model. 注意:PDO存在一个不支持自动发现模型的问题。 But to debug the connection is enough. 但调试连接就足够了。

Umm, this can be done according to the art, without modifying the modules: 嗯,这可以根据现有技术完成,而无需修改模块:

create file: APPPATH\\classes\\Database\\MySQL.php 创建文件: 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