Невозможно отключить short_open_tag с помощью ini_set

Я встраиваю синтаксис синтаксиса javascript в скрипт PHP, который читает исходный файл и возвращает его обратно. Ярлык js имеет эту строку в одной строке:

... [z,/^[^<?]+/], ...

На этом сервере включен short_open_tag, а <? в строке сбивает скрипт и вызывает ошибки. Я не могу отключиться в php.ini или в другом месте.

Я использовал ini_set('short_open_tag', '0'); в том же скрипте, но он не вступает в силу. В чем может быть проблема?

редактировать

В конце концов, я использовал то, что предложил Кол Шрапнель в комментарии:
Я изменил [z,/^[^<?]+/], [z,/^[^<?php echo '<' .'?'; ?>]+/], [z,/^[^<?php echo '<' .'?'; ?>]+/],

Solutions Collecting From Web of "Невозможно отключить short_open_tag с помощью ini_set"

'short_open_tag' помечен как PHP_INI_PERDIR в PHP <5.3.0, что означает, что вы не можете изменить его с помощью ini_set ().

Согласно комментарию на этой странице руководства :

libkhorse в gmail dot com 06-авг-2009 07:14:

Для «short_open_tag», хотя он помечен как PHP_INI_ALL в изменяемом столбце, вы также должны отметить столбец CHANGE_LOG:

PHP_INI_ALL в PHP <= 4.0.0. PHP_INI_PERDIR в PHP <5.3.0

Таким образом, с 4.0, это не сработает, если вы хотите использовать ini_set ('short_open_tag'), чтобы изменить его значение на лету.

Вместо этого попробуйте использовать .htaccess :

 php_flag short_open_tag off 

Я не вижу связи между вашим маркером и отключением коротких открываемых тегов.

Если некоторые из вашего кода запутались с короткими тегами, вы должны переписать свой код вручную , заменив короткие теги на длинные. Или, по крайней мере, запустить код для этого.
Но настройка конфигурации не сделает это за вас.

Кроме того, я не вижу возможности для кода JavaScript читать исходный файл PHP со всеми этими короткими или длинными тегами.

Кажется, ваша проблема в другом месте.