cakephp 처음 세팅시 아래와 같은 에러가 발생할 수 있다(경로 일부 생략)

Warning: _cake_core_ cache was unable to write 'cake_dev_ko-kr' to File cache in lib/Cake/Cache/Cache.php on line 306

Warning: _cake_core_ cache was unable to write 'cake_dev_ko-kr' to File cache in lib/Cake/Cache/Cache.php on line 306

Warning: app/tmp/cache/persistent/ is not writable in lib/Cake/Cache/Engine/FileEngine.php on line 320

Warning: app/tmp/cache/models/ is not writable in lib/Cake/Cache/Engine/FileEngine.php on line 320

Warning: app/tmp/cache/ is not writable in lib/Cake/Cache/Engine/FileEngine.php on line 320

Warning (512): _cake_model_ cache was unable to write 'default_blog_list' to File cache [CORE/Cake/Cache/Cache.php, line 306]

Warning (512): _cake_model_ cache was unable to write 'default_blog_list' to File cache [CORE/Cake/Cache/Cache.php, line 306]

Warning (512): _cake_model_ cache was unable to write 'default_posts' to File cache [CORE/Cake/Cache/Cache.php, line 306]

Warning (512): _cake_model_ cache was unable to write 'default_blog_posts' to File cache [CORE/Cake/Cache/Cache.php, line 306]

 
이는 서버가 app/tmp에  쓰기권한이 없을 때 발생한다.
해결방법은 app디렉토리로 이동해서 아래와 같이 입력하면 된다
$ sudo chown -R (서버 유저) tmp

이때 저 서버 유저를 모른다면 아무 php파일에 아래 내용을 추가해서 브라우저로 확인한다
whoami: <?php echo `whoami`; ?>

난 daemon으로 나오기 때문에 아래와 같이 입력했다
$ sudo chown -R daemon tmp

문제 해결!


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License

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에 대해 알아가고 있는 느낌이 들어 좋다. 


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License

+ Recent posts