728x90
반응형

특정 솔루션이 APM( apache + php 5.3.10 + mysql )로 구성되어 있어서,

추가적인 기능을 개발하기 위해

windows10 운영체계에서 APM을 재구성 설치하고자 하였습니다.

 

설치 및 환경설정은 다른 블로그에도 많이 있어서 생략합니다.

 

php fatal error: uncaught error: call to undefined function mysql_connect()

mysql은 다른 서버에 있는데, host 이름 등을 기반으로 원격 접속이니, PC에 설치하지 않았고 PHP 파일 환경설정에서 extenstion_dir이 제대로 설정되어 있으면,  관련 dll이 제대로 사용될 것입니다.

제 경우에는  설치한 PHP버전이 맞지 않아서 입니다.  버전 6이상은  기존 5.x로 개발한 코드와 호환성에 문제가 있는 것 같습니다.  6/7/8버전을 모두 설치해 보았는데,  mysql_connect()호출 부분에서 오류가 발생합니다. apache의 error.log에서 확인 가능합니다.

 

 

php.ini  을 제대로 참조 여부

php_info.php  호출된 화면에서   'Loaded File(php.ini) Path' 가  (none)이 아닌 경로가 제대로 나타나는지 확인합니다.

초간단 긴급 조치는 'Configuration File(php.ini) Path'에 나타나는 경로에 php.ini 파일을 위치시키는 것입니다.

 

php 버전별로 apache 환경설정 파일 내용이 다름

apache의 httpd.conf파일에 php 관련 설정 내용을 추가할 때.

 

php8의 경우

LoadModule php_module "C:/php-8.3.1/php8apache2_4.dll"
AddType application/x-httpd-php .html .php
AddHandler application/x-httpd-php .php

주의 사항은  php8_module 이 아닌  php_module 이라고 작성하여야 합니다.

 

php7의 경우

LoadModule php7_module "C:/php-7.1.9/php7apache2_4.dll"
AddType application/x-httpd-php .html .php
AddHandler application/x-httpd-php .php

 7버전이하는  버전 정보를 포함하여,  php7_module로 작성합니다.

 

php5의 경우

<IfModule php5_module>
LoadModule php5_module "C:/php-5.6.9/php5apache2_4.dll"
PHPIniDir "C:/php-5.6.9"
AddType application/x-httpd-php .html .php
AddHandler application/x-httpd-php .php 
</IfModule>

로 작성합니다. 위와 같이 작성하지 않으면, 

 

httpd: Syntax error on line 542 of C:/Apache24/conf/httpd.conf: Cannot load C:/php-5.6.9/php5apache2_4.dll into server: \xc1\xf6\xc1\xa4\xb5\xc8 \xb8\xf0\xb5\xe2\xc0\xbb \xc3\xa3\xc0\xbb \xbc\xf6 \xbe\xf8\xbd\xc0\xb4\xcf\xb4\xd9.

 

의 오류가 발생합니다. 

 

 

 

 

728x90
반응형

+ Recent posts