Ваш скрипт выглядит в целом правильно, но есть несколько моментов, которые стоит проверить и улучшить: <br/> <br/> Путь к файлу: Убедитесь, что путь к файлу указан правильно. В вашем случае путь указан как /public_html/public_html/feed_double_happiness.xml, что может быть ошибкой. Обычно путь к файлу в корневой директории сайта будет /public_html/feed_double_happiness.xml. <br/> <br/> Права доступа: Убедитесь, что у скрипта есть права на чтение и запись файла. Если прав недостаточно, скрипт не сможет изменить файл. <br/> <br/> Отладка: Добавьте дополнительные сообщения для отладки, чтобы понять, на каком этапе происходит ошибка. <br/> <br/> Регулярное выражение: Убедитесь, что регулярное выражение правильно находит дату и время в вашем файле. <br/> <br/> Вот обновленный скрипт с дополнительными проверками и отладочными сообщениями: <br/> <br/> <pre><code><?php
$feed_path = '/public_html/feed_double_happiness.xml'; // Убедитесь, что путь правильный
if (!file_exists($feed_path)) {
echo "Файл не найден: $feed_path";
exit;
}
$feed_content = file_get_contents($feed_path);
if ($feed_content === false) {
echo "Не удалось прочитать файл: $feed_path";
exit;
}
$updated_feed_content = preg_replace('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', date('Y-m-d H:i:s'), $feed_content);
if ($updated_feed_content === null) {
echo "Ошибка при обновлении содержимого файла.";
exit;
}
$result = file_put_contents($feed_path, $updated_feed_content);
if ($result === false) {
echo "Не удалось записать обновленное содержимое в файл: $feed_path";
exit;
}
echo 'Дата в yml-фиде успешно обновлена.';
?></code></pre> <br/> <br/> Дополнительные шаги: <br/> Проверка прав доступа: <br/> <br/> Убедитесь, что файл feed_double_happiness.xml имеет права на запись. Вы можете изменить права доступа к файлу с помощью команды chmod: <br/> chmod 666 /path/to/feed_double_happiness.xml <br/> <br/> Проверка cron-задачи: <br/> <br/> Убедитесь, что cron-задача настроена правильно и выполняется. Вы можете проверить логи cron, чтобы убедиться, что задача выполняется и не возникает ошибок. <br/> Логи: <br/> <br/> Добавьте логирование в файл, чтобы отслеживать выполнение скрипта: <br/> file_put_contents('/path/to/log.txt', date('Y-m-d H:i:s') . " - Скрипт выполнен\n", FILE_APPEND); <br/> <br/> Если после всех этих шагов проблема не решится, попробуйте выполнить скрипт вручную через командную строку, чтобы убедиться, что он работает вне cron-задачи. Это поможет изолировать проблему и понять, связана ли она с cron или с самим скриптом.