создание rss-канала в php (просмотр в mamp)
Вопрос
Я создал RSS-канал в PHP, используя приведенный ниже код.я дважды проверил все переменные (т.е.имя пользователя и пароль), и они верны.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, у меня это работает нормально, с 0 элементами, поскольку таблица не существует в БД.Другими словами, кажется, что что-то не так с вашей настройкой MAMP, а не с вашим кодом.Вы абсолютно уверены, что ваш сервер MySQL работает и у вас есть нужная информация для подключения к нему?
В MAMP вы можете получить доступ к журналу ошибок PHP, открыв панель MAMP и нажав Сервер > PHP > Просмотр журнала.В зависимости от ваших настроек вы можете получить пустой вывод при возникновении ошибки.Ошибка может помочь вам в правильном направлении.
Интересно, правильно ли экранируется весь ваш вывод?Содержат ли данные в вашей таблице MySQL какие-либо символы, требующие особой обработки?
Если у вас установлен PHP-клиент, вы можете попробовать использовать его для тестирования.Иногда вы увидите вещи, которые не увидите через веб-браузер или RSS-клиент.
Я использую фидкреатор http://feedcreator.org/ для всей моей генерации RSS под PHP.Обычно я считаю, что проще использовать библиотеку.я разместил пример здесь.
Вы также можете рассмотреть возможность отключения short_tags.Поскольку вы на самом деле пытаетесь вывести XML, вы можете что-то запутать.Особенно, если вы попытаетесь отправить что-то вроде «» вверху страницы.