2010-09-18 2 views
0

Я думаю, что у меня проблемы с использованием сеансов PHP, потому что у меня есть cPanel, установленный на том же сервере, и я считаю, что у него есть дополнительная защита, предотвращающая доступ на запись к/tmpСоздание новой папки tmp для использования PHP?

Я могу установить новую папку, но я не уверен, какие разрешения/владельцы должны иметь эту папку.

И где он должен быть идеально расположен?

ответ

1

/tmp должно всегда быть доступным. Вы можете, конечно, создать новую папку «tmp» где-то рядом с вашим приложением. Просто убедитесь, что он не находится внутри веб-корня. Дайте ему права на чтение/запись и отдайте его пользователю веб-сервера.

Затем вам необходимо изменить session_save_path на новую папку «tmp».

+0

Очевидно, что cPanel ограничивает доступ к/tmp в качестве меры предосторожности. У меня были аналогичные проблемы, когда я устанавливал .sh-файл (расположенный в другом месте, но который должен был создавать файлы в/tmp). Таким образом,/temp не будет хорошей идеей? – tzmatt7447

1

Посмотрите, брат.
Вы тянете этот журнал с неправильного конца. Гадание никогда не поможет.

Есть сообщение с кодом ошибки.
И вам отчаянно нужно связаться с ним.
Он расскажет вам все причины, по которым ваши сеансы не работают.

Если это действительно/проблема TMP, PHP получил специальное сообщение об ошибке для ТИС случая:

Предупреждение: Не удалось записать данные сессии (файлов). Пожалуйста, убедитесь, что текущее значение session.save_path правильно (/ TMP))

Если вы получили это сообщение, вы можете быть уверены, что это причина для ваших сессий не работает, и вы можете начать ремонт Это.

У него есть сообщение об ошибке для не того обработчика сеанса. Также для каждой другой проблемы.

Итак, сначала вы должны получить сообщение об ошибке. Тогда прочитайте его и узнайте, что определенно проблема у вас есть. Очень просто.

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

error_reporting(E_ALL); 
ini_set('display_errors',1); 

, но только для отладки этой ситуации, а затем удалить его. Сообщения об ошибках не должны выводиться на экран производственного сервера.
Итак, научитесь читать журналы ошибок. Я уверен, что ваш сервер помещает все сообщения об ошибках в error_log. Просто найдите его и найдите ошибки PHP.

+0

Спасибо, sis - но это не помогло. У меня есть эта настройка, а php - _not_, выводящее сообщение об ошибке. – tzmatt7447

+0

+1 Я так усмехнулся. – halfdan

+0

Возможно, пришло время запустить CW для базовой отладки PHP. Слишком много «сломано, исправьте» вопросы, где простой тк в журнале ошибок расскажет все о том, что нужно исправить. –

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