У меня есть веб-приложение PHP. Это приложение работает на сервере Windows, но оно не работает на сервере Linux. Я думаю, что это примерно php.ini
или права доступа к файлам. Каковы могут быть другие причины этой ситуации? Какова должна быть базовая конфигурация php.ini
для этой ситуации?PHP-приложение работает на сервере Windows, но оно не работает на сервере Linux, почему?
ответ
Никогда не спрашивайте «Какие могут быть другие причины». Мы не синоптики здесь. Мы программисты. И у нас есть инструменты, чтобы быть определенными, какова конкретная проблема, которую мы испытываем сейчас.
Единственное, что вам нужно, это попросить 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);
и см. Сообщения об ошибках в журнале ошибок, не раскрывая его возможным хакерам и невинным пользователям.
Я хочу задать свой вопрос более spesifically.My php-страницы каким-то образом преобразуются в тип кодировки символов ANSI при загрузке на сервер. Есть ли способ заставить страницы работать, даже если они имеют тип кодировки символов ANSI? Другим способом я открываю все страницы и сохраняю их как UTF -8 один за другим –
@cubuzoa кодировка файла не влияет на выполнение скрипта. ANSI или UTF или даже 1256 будут работать. И как вы знаете, что он был преобразован? Для символов ansi utf-8 имеет одинаковые коды - нет никакой разницы между ними –
, когда я сохраняю как страницу с блокнотом, существует текущий тип кодировки, такой как ANSI –
- 1. font awesome icon не работает на сервере Windows, но работает на сервере linux
- 2. php project работает на сервере linux, но не на окнах
- 3. @ font-face не работает на сервере Windows?
- 4. Процесс не работает на сервере Windows
- 5. Javascript работает на локальном сервере, но не на реальном сервере
- 6. Установка Dropbox на сервере linux не работает
- 7. _getch() не работает на сервере Windows 2012
- 8. завиток не работает на сервере, но работает нормально на localhost
- 9. SignalR не работает на сервере
- 10. System.DirectoryServices.AccountManagement не работает на сервере
- 11. Почему файл .htaccess/Web.Config не работает на сервере Windows?
- 12. jmap не работает на сервере Windows 2003
- 13. interop.MODI.dll не работает на сервере Windows 2012
- 14. CURL не работает на сервере
- 15. HttpCookie работает локально, но не на сервере
- 16. Почему мой файл .htaccess отлично работает на моем локальном сервере тестирования MAMP, но не работает на моем Linux-сервере?
- 17. Почему этот код не работает на Linux-сервере?
- 18. Ajax работает на сервере, но не локально
- 19. Recaptcha.create работает локально, но не на сервере
- 20. Шрифт работает локально, но не на сервере
- 21. Javascript работает локально, но не на сервере
- 22. getJSON не работает на сервере, но локально
- 23. javax.mail работает на ПК, но не на сервере
- 24. Include (../x.php) не работает на моем Linux-сервере, почему?
- 25. cURL не работает на сервере, но работает на localhost
- 26. CompareValidator работает на локальном компьютере, но не работает на сервере
- 27. сценарий не работает на сервере, но работает на localhost
- 28. ASP.NET SetFocus работает на Localhost, но не работает на сервере
- 29. Мой код работает на локальном, но не работает на сервере
- 30. icomoon не работает на сервере, но работает на локальном хосте
Что вы подразумеваете под "не работает"? Разрешения для файлов часто являются проблемой, а также каталоги/файлы чувствительны к регистру в Linux, поэтому любые ссылки в php.ini верны. – Paolo
не работает, например, у меня есть запрос ajax из php-файла, но этот файл does not response anything.This означает, что сервер не компилирует или не выполняет этот файл php. Я проверил тип кодировки символов php-файлов, и все они являются UTF-8. Иногда могут возникать проблемы, когда файл php является типом кодировки символов ANSI. Однако этот файл UTF-8 –
Ну, это говорит нам, чего не бывает. Что оно делает? Что говорят журналы? Является ли правильным URI? Возвращается ли код ответа 200? Похоже, что PHP не установлен или не включен. – Quentin