질문드립니다~!
centos7 에서 php pdo mysql 연결이 오류가 나는데 왜 그런거일까요..
여러가지 시도를 통해 알게된것
대강의 코딩은
DbConnect.php
class DbConnect {
private $host = 'localhost';
private $dbName = 'house';
private $user = 'root';
private $pass = '1111';
public function connect(){
try{
$conn = new PDO('mysql:host='. $this->host .';dbname='. $this->dbName , $this->user, $this->pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->exec("set names utf8"); #한글이 ??로 출력되는거 막아줌
return $conn;
#echo '작동된다.';
}
catch( PDOException $e)
{
echo 'Database Error:' . $e->getMassage();
}
}
}
이 php 파일을 다른 php파일에서 require 해서 class 를 쓰는데 제 컴퓨터에서는 잘되는데 centos에서 돌리면
Failed to load resource: the server responded with a status of 500 ( Intetnal Server ~~Error)
라고 뜹니다.
지금까지 알아낸건
1. phpinfo() 로 확인한 결과 pdo 는 확실하게 셋팅되어 있습니다.
2. 다른 php 파일에서 class 나 함수를 빌려쓰지 말고 DbConnect.php 에서 직접 접속하면 정상적으로 DB에 접속 됩니다;;
3. 클래스나 함수 문제는 당연히 아니었습니다. 안에 다른 내용 넣어도 딴 php 에서 정상적으로 불러 쓸 수 있었습니다.
4. require 경로 오류도 아니었습니다.. 다른 구문 넣으면 잘 불러왔습니다.
class 안에 pdo 구문만 넣으면 에러가 나는데 도대체 무슨 에러인가요 ㅠㅠ
최근에 PHP를 다룰 일이 별로 없어서 최근 PDO API 다루는 방법은 PHP 전문가의 도움을 받아야할 것으로 보입니다.