Перейти к содержимому


Установка веб 1.9.2 ревизия от 25.01.11


Сообщений в теме: 19

#1 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 28 Январь 2011 - 14:07

ситуация следующая, скачал, распаковал, дал права на все 777.
Пытаюсь зайти, пишет ошибку что не может записать файл в папке templates_c
смотрю на сервере, файл создается с 0 размером с правами 600.
Смотрю в версию 1.8.4 (на этом же сервере) там в папке templates_c файлы создаются с правами 644

Владельцем всех папок является root. создаваемые файлы имеют владельца webrun. Переназначение владельца папкам не помогло.

Подскажите в каком месте копать?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 28 Январь 2011 - 14:11

777 на многих хостингах запрещен. Поставьте другие права.

#3 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 28 Январь 2011 - 14:30

Просмотр сообщенияРазработчик (28.1.2011, 14:11) писал:

777 на многих хостингах запрещен. Поставьте другие права.

это не хостинг, это наш сервер.

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 28 Январь 2011 - 14:38

Просмотр сообщенияDarkNight (28.1.2011, 14:07) писал:

скачал, распаковал, дал права на все 777.
На все папки и файлы?

Просмотр сообщенияDarkNight (28.1.2011, 14:07) писал:

Смотрю в версию 1.8.4 (на этом же сервере)
В папке с 1.8.4 тоже на все папки и файлы права 777 ?

Просмотр сообщенияDarkNight (28.1.2011, 14:30) писал:

это не хостинг, это наш сервер.
Возможно дело в настройках сервера.

#5 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 28 Январь 2011 - 14:56

Просмотр сообщенияРазработчик (28.1.2011, 14:38) писал:

На все папки и файлы?
В папке с 1.8.4 тоже на все папки и файлы права 777 ?
Возможно дело в настройках сервера.

в корне сайта лежит 1.8.4, там же создана папка cb, на все права ch -R 777 ./

Возможно, вот только каких?

В апаче хост только один.

вот текст ошибки
Fatal error: Uncaught exception 'Exception' with message 'unable to write file /srv/www/htdocs/cb/templates_c/wrtgfeH2Q' in /srv/www/htdocs/cb/include/Smarty/sysplugins/smarty_internal_write_file.php:34 Stack trace: #0 /srv/www/htdocs/cb/include/Smarty/sysplugins/smarty_internal_template.php(278): Smarty_Internal_Write_File::writeFile('/srv/www/htdocs...', NULL, Object(Smarty)) #1 /srv/www/htdocs/cb/include/Smarty/sysplugins/smarty_internal_template.php(417): Smarty_Internal_Template->compileTemplateSource() #2 /srv/www/htdocs/cb/include/Smarty/sysplugins/smarty_internal_template.php(544): Smarty_Internal_Template->renderTemplate() #3 /srv/www/htdocs/cb/include/Smarty/Smarty.class.php(336): Smarty_Internal_Template->getRenderedTemplate() #4 /srv/www/htdocs/cb/include/Smarty/Smarty.class.php(380): Smarty->fetch('templates/setup...', NULL, NULL, NULL, true) #5 /srv/www/htdocs/cb/setup.php(317): Smarty->display('templates/setup...') #6 {main} thrown in /srv/www/htdocs/cb/include/Smarty/sysplugins/smarty_internal_write_file.php on line 34

#6 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 28 Январь 2011 - 15:27

Создайте скрипт 1.php c кодом
<?php
$f=fopen("/srv/www/htdocs/cb/templates_c/1.txt", "w");
fwrite($f,"123");
fclose($f);
?>
выполните файл. Появляются какие-либо ошибки при выполнении, появился файл 1.txt с текстом '123' внутри?

#7 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 28 Январь 2011 - 16:02

Просмотр сообщенияAnalitic (28.1.2011, 15:27) писал:

Создайте скрипт 1.php c кодом
<?php
$f=fopen("/srv/www/htdocs/cb/templates_c/1.txt", "w");
fwrite($f,"123");
fclose($f);
?>
выполните файл. Появляются какие-либо ошибки при выполнении, появился файл 1.txt с текстом '123' внутри?

появляется, ошибок нет.

#8 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 28 Январь 2011 - 16:21

ftp доступ можете предоставить?

#9 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 28 Январь 2011 - 17:43

Просмотр сообщенияAnalitic (28.1.2011, 16:21) писал:

ftp доступ можете предоставить?

В общем заработала, но проблема осталась.

Проблемным оказался smarty, я подложил более старую версию - пока работает, весь функционал пока не проверил.

#10 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 28 Январь 2011 - 18:06

Просмотр сообщенияDarkNight (28.1.2011, 17:43) писал:

В общем заработала, но проблема осталась.

Проблемным оказался smarty, я подложил более старую версию - пока работает, весь функционал пока не проверил.
Ваше право. Но возможно если какой-либо шаблон использует новые функции, у вас появяться проблемы. Также при обновлении придется постоянно делать обратную версию смарти...

#11 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 31 Январь 2011 - 17:30

Просмотр сообщенияAnalitic (28.1.2011, 18:06) писал:

Ваше право. Но возможно если какой-либо шаблон использует новые функции, у вас появяться проблемы. Также при обновлении придется постоянно делать обратную версию смарти...

В общем обновил смарти с ихнего сайта, ошибку не выдает, но файлы в templates_c создаются 0 на их форуме поднимался такой вопрос, http://www.smarty.net/forums/viewtopic.php...ternalwritefile

на нашем сервере php 5.2.6 и zend.ze1_compatibility_mode=off

Может есть какие соображения?

#12 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 01 Февраль 2011 - 09:40

Проверьте работу скрипта, что выводит?

<?php
class test1
{
 public $my_var="old_val";
}
function funct0($cl)
{
  $cl->my_var="new_val";
}
$t_cl= new test1;
funct0($t_cl);
print_r($t_cl);
?>


#13 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 01 Февраль 2011 - 10:21

Просмотр сообщенияAnalitic (1.2.2011, 9:40) писал:

Проверьте работу скрипта, что выводит?

<?php
class test1
{
 public $my_var="old_val";
}
function funct0($cl)
{
  $cl->my_var="new_val";
}
$t_cl= new test1;
funct0($t_cl);
print_r($t_cl);
?>


test1 Object
(
[my_var] => new_val
)

#14 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 01 Февраль 2011 - 10:29

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

#15 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 01 Февраль 2011 - 14:26

Просмотр сообщенияAnalitic (1.2.2011, 10:29) писал:

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

Проблема как раз в том что описано на форуме smarty.

Я не совсем правильно выполнил скрипт, я его запустил из консоли.

если положить этот скрип в папку с сайтом и обратится к нему через браузер, то результат такой

test1 Object ( [my_var] => old_val )

#16 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 01 Февраль 2011 - 15:17

Просмотр сообщенияDarkNight (31.1.2011, 17:30) писал:

на нашем сервере php 5.2.6 и zend.ze1_compatibility_mode=off

Просмотр сообщенияDarkNight (1.2.2011, 14:26) писал:

Я не совсем правильно выполнил скрипт, я его запустил из консоли.
если положить этот скрип в папку с сайтом и обратится к нему через браузер, то результат такой
test1 Object ( [my_var] => old_val )

ваши ответы наводят на мысль, что вы выключили ze1_compatibility_mode - только для консольного режима. Для консольного режима и web часто используются разные php,ini. Убедитесь что в обоих файлах эта опция присутвует.

Можете также попробовать просто добавить строку в .htaccess
php_flag zend.ze1_compatibility_mode off


#17 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 01 Февраль 2011 - 15:21

Пришлите также результат выполнения в браузере
<?php
class test1
{
public $my_var="old_val";
}
function funct0($cl)
{
  $cl->my_var="new_val";
}
ini_set('zend.ze1_compatibility_mode',0);
$t_cl= new test1;
funct0($t_cl);
print_r($t_cl);
?>

До внесения изменений в конфигурационные файлы.

#18 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 01 Февраль 2011 - 15:48

Просмотр сообщенияAnalitic (1.2.2011, 15:21) писал:

Пришлите также результат выполнения в браузере
<?php
class test1
{
public $my_var="old_val";
}
function funct0($cl)
{
  $cl->my_var="new_val";
}
ini_set('zend.ze1_compatibility_mode',0);
$t_cl= new test1;
funct0($t_cl);
print_r($t_cl);
?>

До внесения изменений в конфигурационные файлы.


test1 Object ( [my_var] => new_val )


После внесения изменений в .htaccess ничего не поменялось

#19 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 01 Февраль 2011 - 16:02

Добавьте строку
ini_set('zend.ze1_compatibility_mode',0);
в файл config.php

#20 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 01 Февраль 2011 - 16:10

Просмотр сообщенияAnalitic (1.2.2011, 16:02) писал:

Добавьте строку
ini_set('zend.ze1_compatibility_mode',0);
в файл config.php


Победили, вроде работает. Буду проверять.

Спасибо за помощь.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных