Я переношу существующее приложение PHP с сервера Apache 2 на nginx, и я столкнулся с проблемой: nginx выполнит php-файл, когда он встроен в теги <?php ?>
, но не тогда, когда это всего лишь <? ?>
теги. В интересах переноса этого приложения без перезаписи кода, как я могу использовать этот менее обычный символ escape-кода php?nginx + php-fpm не экранируется с помощью <<? но IS экранируется с помощью «<? php»
ответ
Измените конфигурационный файл php, чтобы принять короткие теги. Reference
Пожалуйста, прекратите использование коротких коротких тегов PHP. Это 3 письма, которые могут спасти огромные боли в будущем. Это неправильный способ сделать это. PHP.net подтверждает это here. Просто измените все свои <?
на <?php
. Пожалуйста, просмотрите this вопрос, как вы можете легко изменить все ваши <?
до <?php
для всего проекта. Или, если вам нужен простой сценарий оболочки, вы можете проверить henriquemoody's remove-php-short-tags.sh. Похоже, это может быть очень полезно.
Если вам нужно больше причин, чтобы изменить короткие короткие теги PHP на правильный путь, просто Google «Почему короткие теги PHP являются плохими», и вы увидите. Jetpack 2.0.1 - хороший пример.
Да! Настоятельно рекомендуется использовать стандартную форму тега (ни ** короткие теги **, ни ** теги asp **) –
- 1. HttpUtility.HtmlEncode слишком сильно экранируется?
- 2. PHP: escapeshellarg() не экранируется «\ t»
- 3. jQuery автоматически экранируется ajax
- 4. NGINX изменить <? Php на <?
- 5. Попытка объединить строки с помощью <<
- 6. Как избежать << - с помощью назначения
- 7. рельсы полиморфные добавить с помощью <<
- 8. ошибка потока с помощью << operator
- 9. Как читать целые строки с помощью оператора <<<?
- 10. Php7 Проблемы с обновлением с помощью << побитовых операторов
- 11. обратный слэш экранируется при добавлении имя общего принтера в PHP
- 12. Можно ли определить макрос, в котором «(» экранируется
- 13. PHP эхо данных с помощью <=
- 14. Is slice() не совпадает с: gt: lt?
- 15. lazy_high_chart: как отправить метку с помощью оператора <<', а не с' < '
- 16. NetBeans не распознает <<< _ END
- 17. Как заменить `{lock_guard lock (obj.mut); obj.a_stringstream << а << б /*...*/ << п;} 'с помощью вызова метода
- 18. Sed заменить <? с <? php
- 19. Почему cout создает правильный вывод строки с помощью <<, но не с +?
- 20. Избегайте откладывать конструкцию объекта «ребенка» с помощью `operator <<`
- 21. PHP с использованием $ var = <<< EOM
- 22. Форматирование выведенного списка с помощью перегрузки <<
- 23. PHP <<< OUT и OUT;
- 24. Php что означает <<< означает?
- 25. Операторы PHP с <<< EOF string
- 26. Как заставить PHP работать с <? и не <? php
- 27. Регулярное выражение - выберите "<?" но не «<? PHP»
- 28. PHP с использованием Gettext внутри <<< EOF string
- 29. PHP выражение <<< EOB
- 30. <? Php вместо <?
http://www.php.net/manual/en/ini.core.php#ini.short-open-tag Это не имеет ничего общего с nginx. это просто настройка конфигурации PHP. –
Возможный дубликат [Как включить короткие теги PHP?] (Http://stackoverflow.com/questions/2185320/how-to-enable-php-short-tags) –
Не используйте короткие теги простыми. Откройте каждый файл .php в блокноте ++ (или другом редакторе), чтобы найти и заменить все события «» На « Php» (обратите внимание, что пространство важно в первой части. – Dave