2014-12-25 1 views
0

Я использую PHPMailer в проекте, над которым я работаю, и на моем локальном хосте он работает как шарм! Но я использую сервер друга для тестирования сайта для разных устройств. Поскольку я жду большего количества контента для подключения, я делаю некоторые работы по функциональности сайта.Ошибка PHPMailer 500 в переменных сеанса

Я написал сценарий, чтобы идти вместе с PHPMailer, который делает все, что мне нужно для этого, но в верхней части страницы, до моего doctype, я установил пару переменных сеанса. После нескольких часов возиться с ним я понял, что это то, что вызывает мою ошибку 500. Я попробовал переместить их в раздел главы, но единственное, что (вид) работает на сервере, полностью комментирует их. Но затем, когда я пытаюсь отправить почту, она переходит к файлу PHP и никогда не перенаправляется на главную страницу, как предполагалось.

Любые идеи о том, как исправить это? Если это помогает, вот часть моего кода, который Мессинг вещи:

$errors = isset($_SESSION['errors']) ? $_SESSION['errors'] : []; $fields = isset($_SESSION['fields']) ? $_SESSION['fields'] : [];

UPDATE: Вот изображение для phpinfo ... enter image description here

ответ

0

Вы звоните session_start() перед использованием SESSION_ [ ] супер глобальная переменная?

session_start() создает сеанс или возобновляет текущий на основе идентификатора сеанса, переданного через запрос GET или POST, или передается через файл cookie.

+0

Да. У меня есть session_start(); на самом верху и не установлен для обеих этих переменных в самом низу (после). По какой-то причине именно эти две линии причиняют мне неприятности. Если я их прокомментирую, страница загружается просто отлично, но тогда форма не работает. Он просто остается на странице mailer.php без перенаправления назад, как должно. Но он отлично работает в моем локальном хосте. Помогло бы мне, если бы я опубликовал весь файл PHP и фрагменты в верхней и нижней части HTML? –

+0

Как вы сказали, он хорошо работает на вашем локальном сервере используйте phpinfo() и проверьте настройки сессии. *. Возможно, информация вынуждена храниться в файлах cookie, и ваш браузер не принимает файлы cookie, что-то в этом роде. Проверьте это и верните результаты. Вы также можете сделать print_r ($ _ SESSION); иметь дамп этой переменной и видеть содержимое .... Что касается вашего phpinfo(), допустимо ли session.save_path? Доступен ли ваш веб-сервер к этому каталогу? Надеюсь, это поможет. – techierishi

+0

Похоже, браузер принимает файлы cookie, путь сохранения сеанса находится в/tmp, а веб-сервер имеет доступ на запись. Я не смог получить print_r ($ _ SESSION); работать. –

Смежные вопросы