2011-03-25 6 views
0

저는 서버/웹 사이트를 설정하기 시작했습니다. 아마도 매우 기본적인 문제 일 것입니다. PHP 스크립트를 사용하여 설치된 MySQL 서버에 연결하려고하면 빈 화면이 나타납니다. 예 :PHP 로컬 mysql 서버를 볼 수 없습니다

<html> 
<body> 
<script src="http://protovis-js.googlecode.com/svn/trunk/protovis-r3.1.js" type="text/javascript"></script> 

<?php 
echo "Connecting..." 
$user="root"; 
$password="passwd"; 
$server="127.0.0.1"; 
mysql_connect($server,$user,$password); 
echo "Connected."; 

?> 
</body></html> 

은 "연결 중 ..."을 나타내지 만 "연결됨"에 도달하지 않습니다. Aptana 2.05 (제거 된 이후)의 브라우저에서 작동했기 때문에 코드 나 데이터베이스에는 아무런 문제가 없습니다. Firefox 또는 Chrome에서는 작동하지 않습니다. Aptana는 PHP (5.2 버전)의 다른 버전을 사용하고있었습니다. Chrome/Firefox에서 액세스 한 phpinfo()는 5.3이었습니다. php.ini 파일에는 extension = mysql.so가 포함되어 있습니다. 그렇지 않으면 설정이 맞는지 여부를 알 수 없습니다. 내가 본 튜토리얼은 실제로 이런 종류의 것을 다루지는 않았다.

+0

실패하면 mysql_connect가 false를 반환하므로 "$ cn = mysql_connect ($ server, $ user, $ password);" $ cn의 값을 검사하여 연결이 실제로 이루어지고 있는지 확인할 수 있습니다. – jlmcdonald

+0

포트 3306에서 실행하고 있습니까? 기본 포트가 아닌 경우 "server : port"서버에 포트를 지정해야합니다. – Jason

+0

@jlmcdonald 아니요, mysql_connect 호출에서 충돌이 발생합니다. 여전히 제안한대로하지 않으면 인터프리터가 echo/print 문. –

답변

0

하! php5-mysql 패키지가 설치되지 않았다. 그래서 분명히 php와 mysql만으로는 충분하지 않습니다. php5-mysql이 설치되었습니다. 연결이 작동했습니다.

1

사용중인 브라우저는 서버에서 실행중인 PHP 스크립트가 데이터베이스에 연결되는지 여부와 아무 관련이 없습니다.

나는 서버 로그를 확인, 실제로 확인하고 무슨 일이 일어나고 있는지보고 몇 가지 코드를 추가 제안 :

$link = mysql_connect($server,$user,$password); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
+0

제안 해 주셔서 감사합니다. 스크립트 내 진단을 기반으로 오류 상태보고가 가능합니다. 서버 로그에 트랜잭션이 표시되지 않습니다. –

0

귀하의 MySQL의 인스턴스는 localhost에 응답하지 않도록 구성 할 수있다. MySQL 서버에 연결하는 방법에는 두 가지가 있습니다. 네트워크 연결 (IP 및 포트) 또는 소켓 연결을 통해 작동합니다.이 연결은 작업중인 시스템에서만 작동합니다. MySQL 서버는 소켓 연결을 청취하도록 구성 될 수 있지만 네트워크는 구성되지 않을 수 있습니다. 로 MySQL의 명령 줄 도구를 사용하여 연결

  1. 시도 "MySQL의 -h 127.0.0.1 -uroot -ppassword MySQL은"
  2. 명령 줄에서 대신 브라우저 내에서 당신의 PHP 스크립트를 실행 해보십시오.
관련 문제