PostgreSQL을 XAMPP(Lubuntu 14.02 사용)에서 작동시키는 데 문제가 있는 것 같습니다. 저는 PHP, 서버 및 데이터베이스를 모두 사용하는 것이 처음이지만 다음과 같은 오류 메시지가 나타납니다.
치명적인 오류: 551행의 /opt/lampp/htdocs/imageability/SkjemaDatabase.php에서 정의되지 않은 함수 pg_escape_string() 호출
그래서 PostgreSQL에 문제가 있는 것 같습니다. 에 대해서도 동일한 오류 메시지가 나타납니다 pg_connect()
. PostgreSQL이 XAMPP와 작동하도록 하기 위해 내 파일에서 다음 줄의 주석 처리를 제거한 php.ini
다음 서버를 다시 시작하는 등 몇 가지 작업을 시도했지만 성공하지 못했습니다.
확장자=php_pdo_pgsql.dll
확장자=php_pgsql.dll
나는 또한 파일을 Apache 폴더에 복사하려고 시도할 수 있다는 것을 읽었 libpq.dll
지만 이 파일이 전혀 없는 것 같습니다( 로 검색 find
). 이것이 문제가 될 수 있습니까?
또한 Apache2, PHP5 및 PostgreSQL을 별도로 다운로드하려고 시도했지만 이 경우에는 오류 메시지도 없이 빈 페이지만 표시되므로 도움이 되지 않는 것 같습니다. 내가 사용하고 있는 PHP 파일은 다른 사람들에게도 잘 작동하고 있으며 서버에서 작동하도록 다른 PHP 파일을 가져올 수도 있습니다.
도움을 주셔서 감사합니다!
답변1
내 추천: 이를 위해 XAMPP를 사용하지 마세요! 이는 일반적인 Apache, MySQL, PHP, +Python/Perl 스택을 작동시키는 간단한 방법으로 간주됩니다. 벽으로 둘러싸인 정원과 당신의 거의 모든 것을 스스로 떠나십시오…
또한: 비록 당신이하다다음번에 시스템이나 XAMPP 자체가 중단되지 않을 것이라는 보장은 없습니다. 이 사용 사례는 누구도 지원하지 않으며 관련된 일부 구성 요소(특히 PHP)는 특정 버전에 맞게 컴파일되지 않은 모듈을 처리하도록 설계되지 않았습니다.
Debian/Ubuntu에서 기본적으로 개발자 환경을 설정하는 방법
- 터미널 창(메뉴→다른→LX터미널)
- 현재 실행 중인 모든 XAMPP 서비스를 중지합니다.
- 필수 패키지 설치:
이를 위해 GUI("소프트웨어 센터")를 사용하거나 터미널에서 다음 명령을 실행할 수 있습니다.
sudo apt-get install apache2 libapache2-mod-php5 postgresql php5-pgsql
apache2
(아파치 웹 서버)libapache2-mod-php5
(아파치에 대한 PHP 지원)php5-pgsql
(PHP에 대한 PostgreSQL 클라이언트 지원)postgresql
(PostgreSQL 서버)
/etc/php5/apache2/php.ini
텍스트 편집기에서 루트로 파일을 엽니다 .
터미널 창에 명령을 입력
gksudo leafpad /etc/php5/apache2/php.ini
하고 Enter를 누릅니다.- 해당 줄을 찾아
display_errors = Off
다음으로 변경하세요.display_errors = On
- 파일을 저장하고 편집기를 닫습니다.
- Apache 웹 서버 다시 시작: 터미널 창에서
명령을 실행하여 웹 서버를 다시 시작하고 해당 PHP 모듈을 다시 로드합니다.sudo service apache2 restart