Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с PHP. Не работает <? ... ?>, Работает только <?php ... ?> что делать? 
V
    Опции темы
Vitalik
Дата 28.7.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: нет
Всего: 12



Доброго времени суток! smile

Вопрос у меня по ходу пустяковый.. Но вот не знаю как с ним справиться..

Дело в том, что поставил недавно "новые" версии Apache/PHP/MySQL и возникла некоторая проблема. Сразу после установки все работало, но после перезагрузки почему-то перестал "читаться" php-код внутри тегов <? ... ?>. Если же заменить их на <?php ... ?>, то все работает прекрасно..
Кода на php собралось очень много и менять везде теги не представляется приемлемым, да и привык я к старому оформлению. Наверняка, в php есть какая-то настройка, позволяющая решить этот вопрос, но вот о ней то я и не знаю..
Установленные версии: Apache 2.0.54, PHP 5.2.0. Раньше очень долго сидел на Apache 1.3.20 и PHP 4.3.1, как-то не решался перейти.
Также почему-то при перезапуске службы Apache выдавала пару раз ошибку..

Ставил все с нуля, на чистую систему (WinXP SP2), при чем даже пару раз ставил на разные компы.. Все повторялось в точности также..

Заранее благодарен за помощь  smile 

Это сообщение отредактировал(а) Vitalik - 28.7.2007, 18:46
PM MAIL WWW ICQ YIM   Вверх
Daevaorn
Дата 28.7.2007, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: нет
Всего: 70



Используй полную форму. Это хороший стиль. А подкорректировать старые исходники можно и автоматическим путем: либо скриптом, либо контекстной заменой. Вобщем не проблема.
PM MAIL WWW   Вверх
Mal Hack
Дата 28.7.2007, 21:15 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Как уже было сказано выше, это считается хорошим тоном: писать <?php .. ?>, а не  <? .. ?>.
Если очень надо, для совместимости, то надо включить в php.ini директиву short_open_tags.

http://forum.vingrad.ru/forum/topic-131851.html

Это сообщение отредактировал(а) Mal Hack - 28.7.2007, 21:15
PM ICQ   Вверх
Vitalik
Дата 28.7.2007, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: нет
Всего: 12



Цитата(Daevaorn @  28.7.2007,  18:02 Найти цитируемый пост)
Используй полную форму. Это хороший стиль.

Ну раз хороший стиль, то буду, конечно, использовать полную форму smile Спасибо за совет! smile
Но вот менять все старые исходники....  smile 

Цитата(Daevaorn @  28.7.2007,  18:02 Найти цитируемый пост)
А подкорректировать старые исходники можно и автоматическим путем: либо скриптом, либо контекстной заменой. Вобщем не проблема.

Ну это не проблема, если знать КАК это сделать  smile
Собственно можешь подсказать, как можно это сделать "скриптом" и "контекстной заменой"?.. К сожалению мне эти "способы" ни о чем сейчас не говорят.. :-(
Вроде слышал и может даже встречал текстовые редакторы, позволяющие делать поиск и замену в нескольких файлах.. Но ни к одному из них я так и не привязался, поэтому даже наверное и не вспомню их..

Добавлено через 4 минуты и 43 секунды
Цитата(Mal Hack @  28.7.2007,  20:15 Найти цитируемый пост)
Как уже было сказано выше, это считается хорошим тоном: писать <?php .. ?>, а не  <? .. ?>.

То есть вполне возможно, что в новых версиях PHP просто отключили старый (короткий) вариант тегов, так получается?..
Следовательно это не у меня проблемы, а просто такова объективная реальность, угу? smile

Цитата(Mal Hack @  28.7.2007,  20:15 Найти цитируемый пост)
Если очень надо, для совместимости, то надо включить в php.ini директиву short_open_tags.
http://forum.vingrad.ru/forum/topic-131851.html

Огромнейшее спасибо тебе и за указание на эту директиву, и за очень полезную ссылочку про конфигурацию php!  smile 
Сейчас буду изучать  smile 
PM MAIL WWW ICQ YIM   Вверх
Mal Hack
Дата 28.7.2007, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Vitalik, да, данную директиву по умолчанию выключили.
Я думаю, что в будущем, вообще отменят. По крайней мере, <% %> - ASP стиля с 6 ветки больше не будет, если не изменяет память.

Да всегда пожалуйста, спрашивай не стесняйся smile
PM ICQ   Вверх
Vitalik
Дата 30.7.2007, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: нет
Всего: 12



Извините за навящевость.. но..

Цитата(Daevaorn @  28.7.2007,  18:02 Найти цитируемый пост)
А подкорректировать старые исходники можно и автоматическим путем: либо скриптом, либо контекстной заменой. Вобщем не проблема.

Просветит меня кто-нибудь как это проще сделать? smile
Может прогу какую-нить посоветуете? smile

Заранее спасибо smile
PM MAIL WWW ICQ YIM   Вверх
Anarki
Дата 30.7.2007, 23:26 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 7
Всего: 11



Цитата(Vitalik @  31.7.2007,  01:27 Найти цитируемый пост)
Может прогу какую-нить посоветуете?

На том же самом php, с рекурсивным обходом каталогов.
Код

<?php
// замена шорт тегов
// Настройки
$mask = '/\.php$/i'; // маска файла, регулярное выражение 
$dir = '.'; // путь к файлам, в которых произойдет замена
$recursive = 1; // вложенные директории?
$backup = 1; // делать бекапы?
header("Content-Type: text/plain\n\n");
if (!is_dir($dir)) {
    die('Это не директория');
}

function walk($dir) {
    global $mask,$recursive;
    if(substr($dir,-1) == '/') {
         $dir = substr($dir,0,-1);
    }
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if ($file == '.' || $file == '..') continue;
            $path = $dir.'/'.$file;
            if (is_file($path)) {
             
             if (preg_match($mask,$file)) {
                 convert_tags($path);
             }
            } elseif ($recursive && is_dir($path)) {
             walk($path);
            }
        }
        closedir($dh);
    }
}
function convert_tags($path) {
    global $backup;
    $pattern = '#<\?\s+(.*?)\?>#s';
    $pattern2 = '#<\?=\s+(.*?)\?>#s';
    $contents = file_get_contents($path);
    if (preg_match('#<\?=?\s+.*?\?>#s',$contents)) {
        $contents = preg_replace($pattern,'<?php $1 ?>',$contents);
        $contents = preg_replace($pattern2,'<?php echo $1 ?>',$contents);
        if (is_writable($path)) {
            if ($backup && copy($path,$path.'.bkp')) {
                $fp = fopen($path,'wb');
                if ($fp) {
                    fwrite($fp,$contents);
                    echo 'Сконвертированы теги в файле'.$path."\n";
                    fclose($fp);
                } else {
                    echo 'Невозможно открыть файл для записи '.$path."\n";
                }
            } else {
                echo 'Невозможно сделать бекап, конвертация отменена'."\n";
            }
        } else {
            echo 'Отсутсвуют права на запись в файл '.$path."\n";
        }
    }
}

walk($dir);
echo 'Завершено';
?>

Правда не учитывается что теги могут быть вложенными



Это сообщение отредактировал(а) Anarki - 30.7.2007, 23:30


--------------------
PM WWW   Вверх
Vitalik
Дата 31.7.2007, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: нет
Всего: 12



Хе-хе  smile 
Сильно  smile
Спасибки большое за код smile

Я тоже частенько для решения различных задач люблю PHP использовать, уж очень он удобный  smile 
А тут как-то даже и не ожидал такого подхода к решению проблемы smile
PM MAIL WWW ICQ YIM   Вверх
NNaarreekk
Дата 31.7.2007, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Я только не понял в чем конкретно разница??? smile 
PM MAIL WWW   Вверх
Diesel Draft
Дата 31.7.2007, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: 1
Всего: 5



А не проще было настройки в php.ini поменять 


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
Vitalik
Дата 31.7.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: нет
Всего: 12



Цитата(NNaarreekk @  30.7.2007,  23:58 Найти цитируемый пост)
Я только не понял в чем конкретно разница??? 

Между чем и чем?
Реально не понял. Даже не догадываюсь о чем твой вопрос..

Цитата(Diesel Draft @  31.7.2007,  09:06 Найти цитируемый пост)
А не проще было настройки в php.ini поменять 

Проще чем что?
Не очень понимаю о чем ты.
Настройки то теперь уже поменяны. Остается просто привести старый код в надлежащий вид.
PM MAIL WWW ICQ YIM   Вверх
Diesel Draft
Дата 31.7.2007, 13:33 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: 1
Всего: 5



ну когда ты пере установил то поменялись настройки, но ты их можешь включить опять


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
SamDark
Дата 31.7.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 10
Всего: 38



Diesel Draft
Цитата

Как уже было сказано выше, это считается хорошим тоном: писать <?php .. ?>, а не  <? .. ?>.



--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Diesel Draft
Дата 31.7.2007, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: 1
Всего: 5



SamDark, согласен. И кстати это не хороший тон, а необходимость. Но когда у тебя очень много файлов и сервер твой то можно этим пожертвовать


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
Mal Hack
Дата 31.7.2007, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Для совместимости, как вариант, можно включить short_open_tags в .htaccess, т.к. не всегда бывает доступ к серверному php.ini.
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1199 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.