DevEnjoy

One Step Closer

Apache

OS X Server에서 MySQL 과 PHP 연동 관련 해결

2014년 1월 26일 by YongPwi Leave a Comment

컴퓨터 정리를 하다가 실수로 OS X Server를 삭제 하게 되었는데,,,

삽질해가며 세팅하였던 블로그가 순식간에 날아가서 다시 세팅하였다.

  • os x server 재설치
  • server appliaction 에서 블로그 주소 세팅 및 PHP 웹 응용프로그램 활성화
  • DB는 영향 없으니 블로그 접속 시도

그런데,,,

데이터베이스에 연결하는데 오류가 생겼습니다.

일전에 초기 세팅할 때에도 재설치 시 그런 문제가 있어서 MySQL DB와 User를 모두 날린 후 재설치 시 해결하였는데

이번에는 얼마 전에 근 한 달간을 삽질해서 세팅한 페북 플러그인과 설정들을 살려보겠다는 생각에 열심히 구글링을 하였다.

꽤 삽질을 하였다. PHP 소스에 문제가 있나 싶어서

1
2
3
4
5
6
7
8
9
10
$db_host = "localhost";
$db_user = "test_user";
$db_passwd = "test_passwd";
$db_name = "test_name";
$conn = mysqli_connect($db_host,$db_user,$db_passwd,$db_name);
if (mysqli_connect_errno($conn)) {
   echo "데이터베이스 연결 실패: " . mysqli_connect_error();
} else {
   echo "성공~!!!";
}

상위처럼 test도 해봤다. 그런데 안된다,,,

머가 잘못일까 삽질하다 보니 default port라 인식할 거라 생각했는데 3306을 빼먹어서 연결이 안 된 상황,,,

일단 DB 연결이 되는 것을 확인한 후 다른 환경 문제일 거라 생각하고 다시 구글링,,,

그런 중 MySQL과 PHP 연동 관련된 두 가지 해결 방법을 찾았다.
 

첫 번째 해결방법
문제
MySQL 서버가 동작 중일 때, tmp/mysql.sock 파일이 생성된다.
그런데 PHP 설정이 var/mysql/mysql.sock 으로 되어 있어서 PHP에서 MySQL 접속이 불가능한 경우가 있다.

해결
/etc/php.ini.default 파일에서 var/mysql/mysql.sock 로 되어 있는 부분(세 군데)을 전부 tmp/mysql.sock으로 변경.
그리고 다음과 같이 php.ini 파일을 생성.

두 번째 해결방법

1
2
3
4
5
cd /var
sudo mkdir mysql
sudo chmod 755 mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock

또는

1
2
cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock

두가지 방법을 보니 문제점은 MySQL과 PHP 연동 간에 설정 부분이 문제가 있는 것으로 확인된다.

나는 두 번째 방법은 무언가 폴더를 더 생성하고 예외를 두는 것 같아서 첫 번째 php.ini 파일의 mysql.sock 의 경로명을 수정하였다.

Posted in: Database, MySQL, PHP, Programing Tagged: Apache, MySQL, OS X, PHP

Calendar

5월 2025
일 월 화 수 목 금 토
« 4월    
 123
45678910
11121314151617
18192021222324
25262728293031

Recent Posts

  • ubuntu bastion 설정
  • Spring Boot properties 암호화
  • Git Repository Bitbucket과 Issue Tracker Redmine 연동 설정
  • Spring Security 동일 session 제어
  • Spring @Mock, @Mockbean, @InjectMock

Recent Comments

  • pzotov (Ubuntu 14.04에서 Sonarqube 6.7.1 service 등록)
  • cours de theatre paris (AWS ELB와 Auto Scaling 연동, nginx)
  • bayern munich (IntelliJ EAP Font rendering)
  • camiseta del chelsea (OS X에서 APP 아이콘 변경)
  • cheap football shirts replica (jQuery Ajax에서 json Array 직렬화)

Copyright © [the-year] [site-link].

Powered by [wp-link] and [theme-link].