통신하지 않는 PHP와 MySQL


9

PHP 설치와 MySQL 설치가 제대로 진행되지 않는다는 결론에 도달했습니다. 콘텐츠에 MySQL을 사용하는 첫 번째 웹 페이지를 만들려고 노력하고 있지만 이틀 후에 매뉴얼 페이지, 온라인 설명서 및 수십 개의 자습서가 끝나면 PHP / MySQL 부분이 작동하지 않습니다. Apache를 실행하고 웹 페이지를 호스팅하는 기존의 홈 웹 서버 (유일한 관리자 / 사용자)가 있습니다. MySQL을 설치했으며 터미널을 통해 데이터베이스를 만들고 쿼리 할 수있었습니다. PHP가 설치되어 있고 echo를 사용하여 텍스트를 문서에 인쇄 할 수 있습니다. 그러나 MySQL로 작업하면 모든 것이 변경됩니다 ...

에 초기화 항목이 포함 된 페이지가 있습니다. 하드 코딩 된 HTML의 몇 단락과 MySQL에 액세스하기위한 PHP 코드로 구성되어 있습니다. 처음 페이지를로드했을 때 빈 페이지 만있었습니다. PHP 섹션을 주석 처리하고 일반 HTML이 여전히 작동하는지 확인하기 위해 다시로드했습니다. 따라서 PHP의 일부는 페이지가로드되지 않도록 유지하는 것이 었습니다.

코드 문제 해결을 시작하기 위해 서버 연결을 위해 다음 코드를 제외한 모든 PHP 코드에 주석을 달았습니다.

<?
echo("<p>PHP is working</p>"); 
$ses = mysql_connect("localhost","username","password");
if(!$ses){
 echo("<p>Connection to content server failed.</p>");
 exit();
}
echo("<p>Database Connected</p>");
?>

페이지가로드되면 "PHP가 작동 중"이라는 단락 외에 시작 HTML이로드되지만 실패 또는 성공 메시지가 나타나지 않습니다. 코드에서 If 구조를 제거하여 두 개의 에코와 mysql_connect 만 남았으며 동일한 결과를 얻었습니다.

mysql_connect 기능으로 인해 서버가 실행될 때 서버에서 코드로드를 중지하는 것처럼 보이지만 해결 방법에 대한 아이디어가 없습니다. 기록을 위해 :“connection = msql.so”줄을 포함하도록 php.ini 파일을 수정했으며 MySQL 5.5, Apache 2.2.22, PHP 5.3.10, Ubuntu 12.04를 사용하고 있습니다. 또한 라우터와 모뎀 모두 포트 3306을 서버로 전달하도록 구성되어 있습니다. 필요한 방법은 알 수 없지만 MySQL 사용자 이름과 비밀번호는 세 번 확인되었으며 성공적으로 사용하는 것과 동일합니다 터미널에서.

내가 무엇을 놓치고 있습니까?


1
'사용자 이름'과 비밀번호를 올바른 사용자 이름 (아마도 루트)과 비밀번호로
바꾸십시오

2
그래, 그랬어 방금 사용자 이름과 비밀번호를 포럼에 버리는 것이 좋은 생각은 아닙니다. 마지막에 말했듯이 터미널을 통해 데이터베이스를 성공적으로 만들고 액세스하고 편집하는 데 사용하는 것과 일치하는지 확인하기 위해 사용자 이름과 암호를 여러 번 확인했습니다.
Casey Hungler

또한 localhost를 127.0.0.1 및 서버의 로컬 및 글로벌 IP 주소로 바꾸려고 시도했지만 그중 어느 것도 차이가 없었습니다.
Casey Hungler

1
설치 했습니까 php5-mysql?
laurent December

확실하지만 다시 시도하겠습니다.
Casey Hungler

답변:


9

모든 것이 정상으로 보이므로 설치가 완료되지 않은 것 같습니다. mysql과 PHP가 통신하려면 php5-mysql 패키지 를 설치해야 합니다.

sudo apt-get install php5-mysql

주의 : 이것이 작동하기 전에 컴퓨터를 다시 시작해야했습니다.
user124384

3

php5-mysql패키지를 설치 하고 mysql_connect 대신 mysqli_connect 를 사용 하십시오.


고마워, 다른 누군가도 그것을 제안했고 효과가있었습니다! 그래도 궁금한 점이 있는데, 검색에서 mysqli (및 PDO도 일반적으로 포함되어 있음)에 대한 내용을 살펴 봤습니다. 일반 mysql보다 나은 점은 무엇입니까?
Casey Hungler

MySQLi는 개선 된 버전입니다.
올빼미

내가 아는 바로는 PHP 팀에서 권장하는 mysqli를 사용해야하며 mysql_connect는 더 이상 개발 단계가 아니며 유지 관리 만합니다. mysql_connect는 예를 들어 준비된 문장과 다른 많은 것을 받아들이지 않는다고 생각합니다.
laurent December


1
sudo apt-get install php5-mysql

에서 Tomcat 버전을 찾으십시오 /etc/init.d/. 이름이 tomcat7 인 파일이 있어야하므로 7은 버전입니다.

sudo service tomcat7 stop 
sudo service tomcat7 start

때로는 컴퓨터 재부팅으로 다른 문제를 정렬하는 데 도움이됩니다. 재부팅 후 다음을 실행하는 것을 잊지 마십시오.

sudo service tomcat7 start 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.