2012-02-24 2 views
2

Ну, я нашел довольно много потоков с ISE 500, но ни один из решений не работал для меня.Interal Server Error 500 - session_start()

Я разработал приложение facebook для нашего клиента, чтобы представить некоторые аудиотреки и, конечно же, хотел бы передать некоторые параметры в приложение для параметра app_data. Поэтому я включил facebook sdk 3.1.1. сделал все, чтобы правильно подключиться к facebook.

На моем местном xampp все работает отлично, наш веб-сервер компании также запускает приложение без проблем, так же как и мое частное веб-пространство. Но когда я загружаю приложение на сервер клиентов, я получаю 500: Внутренняя ошибка сервера. Чтобы исключить какие-либо странные ошибки сценариев на моей стороне, я попытался выполнить example.php, который поставляется с sdk. Такая же ошибка. Даже когда я просто попытался создать экземпляр класса Facebook следующим образом:

<?php 

require '../src/facebook.php'; 

$facebook = new Facebook(array(
    'appId' => '???', 
    'secret' => '??????', 
)); 
?> 

Я уже просматривал журналы ошибок сервера. Единственное, что он упоминает это:

«Преждевременный конец заголовков сценария: example.php»

Я также использовал широко предложил error_reporting(E_ALL);, чтобы избежать неправильного errorhandling на ServerSide. Ничего. Сервер просто не скажет мне, что случилось.

я нашел довольно много причин, почему другие люди получили эту ошибку, наиболее известные из них:

  • Отсутствует ?> тег в facebook.php/base_facebook.php
  • Несколько экземпляров Facebook - и FacebookApiException

... ни один из предоставленных мной решений не работал.

Итак, я попытался сравнить phpinfos как с клиентом, так и с сервером нашей компании. Конечно, были некоторые различия, но ничего очевидного для меня. Я искал основные вещи, которые люди на форумах уже связали с ISE 500, как расширение cURL, php version (5.3.9). Я не сервер-администратор, я получил только базовые знания о конфигурации сервера. Поэтому, чтобы быть уверенным, что чего-то не хватает, я попытался найти требования к серверу для facebook sdk ...

... но вся сеть не сообщит мне о требованиях к серверу для facebook sdk. Даже в документации на facebook ничего не говорится. Поэтому я надеюсь, что здесь может быть кто-то, кто может мне помочь.

И да ... я уже обращался к серверу-администратору за помощью, он просто посмотрел на меня с двумя вопросительными знаками в его глазах ... и да ... я должен использовать сервер клиентов :(sigh

Благодарим вас в ожидании ...


UPDATE:
я перечислю вещи я пытался в ответ на Ваши предложения:

Сервер:
- установлен Curl расширение (7.20.1)
- PHP версия 5.3.9.
- попытался включить другие файлы, отлично работает. Кажется, что это не проблема пути
- Журналы ошибок сервера показывают только «Преждевременный конец заголовков скриптов: example.php»
- включено log_errors. error_log говорит «нет значения»
- попытался ini_set("display_errors", true); для отслеживания ошибок ... никакого эффекта


UPDATE 2

Так что я был в состоянии идентифицировать проблему после проверки строки Facebook файлы по ряд. Внутренняя ошибка сервера 500 брошена в самом начале после попытки запуска сеанса:

if(!session_id()) 
{ 
    session_start(); 
} 

Я отправил эту информацию на серверах администратор и клиент ... я думаю, его из моих рук сейчас, я обновит этот пост, когда я получу ответ. Спасибо за ваши ребята обратной связи :)


РЕШЕНИЯ

Ok сервер-администратор Теперь определил проблему. Session.save_handler был установлен «пользователь», он изменил его на «файлы», теперь все работает .:

session.save_handler = files 

Еще раз спасибо за помощь!

+0

Может быть, это глупо спрашивать, но все равно придется.) Вы пытались запустить простейшие php-скрипты на сервере своего клиента, например, печально известный ' 'один? Будет очень интересно проверить версию PHP и загруженные модули, между прочим. – raina77ow

+0

ну, я думал, что нет глупых вопросов: D, но да, конечно, как я писал, это было первое, что я пробовал, версия для PHP подходит (5.3.9) – Acure

+0

И я был бы признателен, если бы кто-нибудь мог сказать нам, что (например, расширение cURL) – Acure

ответ

0

phpinfo() был ответ.Под сессии параметр save_handler должен быть установлен от:

session.save_handler = user

к:

session.save_handler = files

1

Это прекрасный пример исключительно плохого вопроса.

В то время как единственная ваша проблема - how to get an error message from PHP, вы написали целый роман о вещах, которые никто не должен знать. Неважно, если вы запускаете приложение facebook или что-то еще. Не имеет значения, какая версия завитка вы установили.

Единственное, что вам нужно - это сообщение об ошибке PHP.
Вам нужно отследить его. Проверка error_reporting, error_log и log_errors директивы в phpinfo().
Проверьте домашний каталог пользователя на наличие дополнительных файлов журнала. Спросите администратора сервера для файлов журнала. Это должно быть единственное направление вашего поиска - сообщение об ошибке PHP.

+0

Не удалось договориться подробнее .. + 1 –

+0

Мне очень жаль, и я буду помнить об этом, в будущем я буду держать его коротким и точным :(Спасибо за отзыв – Acure

6

Попробуйте добавить это в верхней части вашего сценария, перед вашим включают:

ini_set("display_errors", true); 
+0

К сожалению, ничего не показывает, e "500: Internal Server Error" :( – Acure

+0

Попробуйте добавить директиву php_value через файл htaccess в корне сайта, установив значение display_errors –

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