Missing Database Connection
Error: Mysql requires a database connection
Error: Confirm you have created the file : app/Config/database.php.
Notice: If you want to customize this error message, create app/View/Errors/missing_connection.ctp.
Stack Trace
#0 /home/widyou/www/blog/lib/Cake/Model/ConnectionManager.php(101): DboSource->__construct(Array)
#1 /home/widyou/www/blog/lib/Cake/Model/Model.php(3241): ConnectionManager::getDataSource('default')
#2 /home/widyou/www/blog/lib/Cake/Model/Model.php(1030): Model->setDataSource('default')
#3 /home/widyou/www/blog/lib/Cake/Model/Model.php(3265): Model->setSource('posts')
#4 /home/widyou/www/blog/lib/Cake/Model/Model.php(2483): Model->getDataSource()
#5 /home/widyou/www/blog/app/Controller/PostsController.php(7): Model->find('all')
#6 [internal function]: PostsController->index()
#7 /home/widyou/www/blog/lib/Cake/Controller/Controller.php(473): ReflectionMethod->invokeArgs(Object(PostsController), Array)
#8 /home/widyou/www/blog/lib/Cake/Routing/Dispatcher.php(104): Controller->invokeAction(Object(CakeRequest))
#9 /home/widyou/www/blog/lib/Cake/Routing/Dispatcher.php(86): Dispatcher->_invoke(Object(PostsController), Object(CakeRequest), Object(CakeResponse))
#10 /home/widyou/www/blog/app/webroot/index.php(96): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#11 {main}
php를 세팅한 후 Cakephp 예제를 따라하는데 위와같이 아주 이쁘고 사람 미치게하는 에러가 계속해서 발생했다.
아무리 포럼을 뒤져보고 해도 해결되지 않는 문제. 저 문제가 나는 경우가 매우 극소수인듯 한데다가 가끔 달린 답변글은 암호가 다르거나 어쩌구저쩌구..
이것떄문에 하루를 버리다가 끄트머리에서 cakephp도 로그를 남기겠지 하고 로그를 뒤져보았다.
로그는 app/tmp/logs/error.log 에 위치해있었다.
아래로 쭉 내려보니 원인을 추정할 수있는 단서를 찾을 수 있었다.
2012-03-01 23:09:05 Error: [MissingConnectionException] Database connection "Mysql" is missing, or could not be created.
아니 이게 무슨소리야! mysql연결에 쓰는 객체 자체가 없다니!
cakephp가 곶아라니!
저 에러로 검색을 해보니 cakephp는 pdo라는걸 이용해 db에 연결한다는 걸 알아냈다.
내 php에는 모듈이 하나도 없었으니 혹시나 하는 마음에 php 소스디렉토리에 가서 ext에 pdo로 시작하는 디렉토리를 찾아보니 떡하니 나오는 pdo_mysql...
속으로 온갖 욕을 하며
이전글처럼 모듈을 따로 빌드해다가 php에 넣었더니 무슨일 있었냐는 듯이 잘 연결된다.
으으 그래도 로그에서 저 한줄 찾은게 실마리가 되어서 다행이다.
오늘안에 못돌리면 포기하려고 했는데. 휴~
내일은
튜토리얼대로 간단한거 하나 만들어보고 내가만든 네모로직게임 자바스크립트 라이브러리로 사이드 하나 만들어본 후 잘 돌아가면 가상서버호스팅까지 해봐야겠다.
가상서버호스팅 대비해서 서버도 vmware는 최소화해놓고 후 모든 작업은 putty로 ssh콘솔 열어서 작업하고 있다.
영어채팅이 점점 빨라지는 기분이야!
아무튼 이런 삽질은 나만 하자는 마음으로 기록을 공유해본다.
계속 삽질하니 점점 apache와 php에 대해 알아가고 있는 느낌이 들어 좋다.