인디노트
CentOS 8 PHP 설치에러 Call to undefined function mysql_connect() 본문
CentOS 8 PHP 설치에러 Call to undefined function mysql_connect()
인디개발자 2021. 4. 14. 18:03info.php
<?php phpinfo();?>
위의 코드는 잘 된다.

dbtest.php
<?php
$link = mysql_connect('192.168.0.99', 'wordpress', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
이 코드를 실행하면 php 로그에 다음의 내용이 찍힌다.
Call to undefined function mysql_connect()
다음 명령을 실행 해 보았다.
# yum list php-mysql
Last metadata expiration check: 1:22:33 ago on Wed 14 Apr 2021 12:25:56 AM PDT.
Error: No matching Packages to list
패키지가 없단다. 그래서, 설치했다.
PHP 설치는 sudo dnf install php php-fpm php-gd php-mysqlnd 를 이용하여 설치 했었다.
참고 : tecadmin.net/install-apache-php-fpm-centos-8/
How to Install Apache with PHP-FPM on CentOS 8 – TecAdmin
PHP FPM is the FastCGI Process Manager. This tutorial will help you to configure PHP-FPM with Apache on CentOS 8 and RHEL 8 Linux system.
tecadmin.net
아무래도 php-mysql 이 빠진것 같다.
# yum install php-mysql
이제 다음과 같은 에러 메시지가 WEB 화면과 PHP 로그에 남겨진다.
Could not connect: Permission denied
음...
DB 서버 말고 PHP 가 설치되어 있는 서버에서
# setsebool httpd_can_network_connect_db=1
를 하니 Connected successfully 가 된다.
뜻을 해석하면 httpd 가 network 로 db 를 연결하는것을 1 (참) 으로 해라 정도인것 같다.
1 대신 on 을 사용해되 된다.
하지만 위의 명령으로는 임시적인 것이다.
이것을 영구적인 설정으로 바꾸기 위해서는 다음과 같이 한다.
# setsebool -P httpd_can_network_connect on
여기서 -P 옵션은 Permanent 의 뜻이다.
'개발 플랫폼 및 언어 > 네트워크 기술' 카테고리의 다른 글
| VMWare Fusion 에 네트워크 추가 (링크) (0) | 2021.12.12 |
|---|---|
| WordPress 용 DB 생성후 wordpress 용 User 생성 (0) | 2021.04.14 |
| Apache - PHP 구축시 페이지는 안나오고 파일 리스트가 보일때 (0) | 2021.04.14 |
| Apache - PHP 구축시 Access denied 나올때 (0) | 2021.04.14 |
| CentOS 에서 apache 시스템 계정 생성 (0) | 2021.04.14 |