Именно так мне сегодня ответила ТП Битрикса на сообщение о баге в обфускаторе Битрикса, который используется для демо-режима модулей маркетплейса.
Суть в чём.
В модуле был создан файл "include.php" содержащий только два символа "<?". По правилам написания PHP-скриптов это допустимо ( ). Файл include.php я оставил, чтобы формально соответствовать структуре модуля описанной здесь -
Сам же модуль работает по идеологии D7, все классы подрубаются автоматом.
Я был удивлен, когда от клиентов начали приходить багрепорты с одним и тем же типом ошибки:
Там же нет кода!
Только потом я сообразил, что дело не в коде модуля, а именно в обфускаторе.
Попробовал заменить на код:
И действительно. Все заработало как надо.
Написал об ошибке в саппорт, на что был получен ответ, вынесенный в заголовок. Но как так-то? Ведь даже в ядре используются обычные тэги - . Да и не в форме открывающего тэга дело, а в наличии закрывающего.
Всё это навевает сомнения в компетентности техподдержки, либо они просто не хотят трогать код обфускатора.
По моему убеждению, обфускатор должен съедать любой синтаксис описанный в документации.
В общем, я к чему это.
Не я один напоролся на этот баг. Решение от коллег так же при установке в демо-режиме валит сайт. Я им об этом написал.
Советую и вам проверить свои решения на установку в демо-режиме, если у вас в include.php нет закрывающего тэга.
Суть в чём.
В модуле был создан файл "include.php" содержащий только два символа "<?". По правилам написания PHP-скриптов это допустимо ( ). Файл include.php я оставил, чтобы формально соответствовать структуре модуля описанной здесь -
Сам же модуль работает по идеологии D7, все классы подрубаются автоматом.
Я был удивлен, когда от клиентов начали приходить багрепорты с одним и тем же типом ошибки:
| PHP Parse error: syntax error, unexpected '<' in /home/site/public_html/bitrix/modules/yeti.picloader/include.php on line 1 |
Только потом я сообразил, что дело не в коде модуля, а именно в обфускаторе.
Попробовал заменить на код:
<?php // do nothing ?> |
Написал об ошибке в саппорт, на что был получен ответ, вынесенный в заголовок. Но как так-то? Ведь даже в ядре используются обычные тэги - . Да и не в форме открывающего тэга дело, а в наличии закрывающего.
Всё это навевает сомнения в компетентности техподдержки, либо они просто не хотят трогать код обфускатора.
По моему убеждению, обфускатор должен съедать любой синтаксис описанный в документации.
В общем, я к чему это.
Не я один напоролся на этот баг. Решение от коллег так же при установке в демо-режиме валит сайт. Я им об этом написал.
Советую и вам проверить свои решения на установку в демо-режиме, если у вас в include.php нет закрывающего тэга.