문제
아래 코드를 사용하여 PHP에서 RSS 피드를 만들었습니다. 모든 변수 (예 : 사용자 이름과 비밀번호)를 두 번 확인했으며 정확합니다. MySQL도 올바르게 설정됩니다. MAMP를 사용하여 컴퓨터에서 로컬로 보려고 할 때 빈 페이지 만 받고 있습니다. 도움이 될 것입니다.이 코드는 올바르게 보이고 MAMP 이외의 다른 것을보기 위해 사용해야 할 다른 것이 있습니까?
<? header('Content-type: text/xml'); ?>
<?php
$dbhost = "localhost"; // almost always localhost.
$dbname = "links"; // Database Name
$dbuser = "root"; // Database Username
$dbpass = "password"; // Databse Password
$connect = mysql_connect("$dbhost","$dbuser","$dbpass");// Connecting to Database
mysql_select_db($dbname) or die (mysql_error()); // Selecting Database
?>
<rss version="2.0">
<channel>
<title> </title>
<description> </description>
<link></link>
<?
$sql = "SELECT * FROM news limit 5";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
?>
<item>
<title><?=$row['title']; ?></title>
<author><?=$row['author']; ?></author>
<link>http://MYSITE.com/news.php?id=<?=$row['id']; ?></link>
</item>
<?
}
?>
</channel>
</rss>
해결책
시도 할 몇 가지 사항 :
- 로그를 확인하십시오.
- 전화를 옮깁니다
header()
출력 전에 상단에. - 제거하십시오
<blockquote>
태그. - 처리 명령어 추가 (
<?xml version="1.0"?>
) 위에서, 앞에<rss>
요소. - 변경
content-type
헤더text/xml
에게application/xml
.
다른 팁
이 코드를 복사하고 MySQL 설정을 중심으로 변경하면 MAMP 설정에 실제로 존재하는 데이터베이스를 사용하여 테이블이 DB에 존재하지 않기 때문에 0 항목이 적합합니다. 다시 말해, 코드가 아니라 MAMP 설정에 문제가있는 것 같습니다. MySQL 서버가 실행 중이며 연결하기에 적합한 정보가 있다고 확신하십니까?
MAMP에서는 MAMP 패널을 열고 서버> PHP> 로그를 클릭하여 PHP 오류 로그로 이동할 수 있습니다. 설정에 따라 오류가 발생하면 빈 출력이 발생할 수 있습니다. 오류가 올바른 방향으로 안내하는 데 도움이 될 수 있습니다.
모든 출력이 제대로 피해지고 있는지 궁금합니다. MySQL 테이블의 데이터에 특별히 처리 해야하는 문자가 포함되어 있습니까?
PHP CLI를 설치 한 경우 테스트를 위해이를 사용해보십시오. 때로는 웹 브라우저 또는 RSS 클라이언트를 통해 보지 못하는 것을 볼 수 있습니다.
나는 FeedCreator를 사용합니다 http://feedcreator.org/ PHP에 따른 모든 RSS 세대에 대해. 일반적으로 라이브러리를 사용하는 것이 더 쉽다는 것을 알게됩니다. 나는 예를 올렸다 여기.
Short_tags를 비활성화하는 것을 고려할 수도 있습니다. 실제로 XML을 출력하려고하기 때문에 실제로 혼란 스러울 수 있습니다. 특히 페이지 상단에서`` '와 같은 것을 시도하고 보내는 경우.