2010-05-26 6 views
-2

У меня есть веб-приложение PHP. Это приложение работает на сервере Windows, но оно не работает на сервере Linux. Я думаю, что это примерно php.ini или права доступа к файлам. Каковы могут быть другие причины этой ситуации? Какова должна быть базовая конфигурация php.ini для этой ситуации?PHP-приложение работает на сервере Windows, но оно не работает на сервере Linux, почему?

+3

Что вы подразумеваете под "не работает"? Разрешения для файлов часто являются проблемой, а также каталоги/файлы чувствительны к регистру в Linux, поэтому любые ссылки в php.ini верны. – Paolo

+0

не работает, например, у меня есть запрос ajax из php-файла, но этот файл does not response anything.This означает, что сервер не компилирует или не выполняет этот файл php. Я проверил тип кодировки символов php-файлов, и все они являются UTF-8. Иногда могут возникать проблемы, когда файл php является типом кодировки символов ANSI. Однако этот файл UTF-8 –

+0

Ну, это говорит нам, чего не бывает. Что оно делает? Что говорят журналы? Является ли правильным URI? Возвращается ли код ответа 200? Похоже, что PHP не установлен или не включен. – Quentin

ответ

7

Никогда не спрашивайте «Какие могут быть другие причины». Мы не синоптики здесь. Мы программисты. И у нас есть инструменты, чтобы быть определенными, какова конкретная проблема, которую мы испытываем сейчас.

Единственное, что вам нужно, это попросить PHP рассказать вам, в чем проблема.

Самый простой способ поместить эти строки в файл конфигурации,

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

и посмотреть, что ваше приложение будет сказать. Это могут быть разрешения или php.ini. Все будет сказано.
Довольно легко, а? ;)

Если эти магические линии не помогут, есть несколько других способов, руководство имеет хорошее руководство в нем: http://php.net/manual/en/configuration.changes.php

Когда ваш сервер общественности, не забудьте изменить эти строки

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

и см. Сообщения об ошибках в журнале ошибок, не раскрывая его возможным хакерам и невинным пользователям.

+0

Я хочу задать свой вопрос более spesifically.My php-страницы каким-то образом преобразуются в тип кодировки символов ANSI при загрузке на сервер. Есть ли способ заставить страницы работать, даже если они имеют тип кодировки символов ANSI? Другим способом я открываю все страницы и сохраняю их как UTF -8 один за другим –

+0

@cubuzoa кодировка файла не влияет на выполнение скрипта. ANSI или UTF или даже 1256 будут работать. И как вы знаете, что он был преобразован? Для символов ansi utf-8 имеет одинаковые коды - нет никакой разницы между ними –

+0

, когда я сохраняю как страницу с блокнотом, существует текущий тип кодировки, такой как ANSI –

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