Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: printf, sprintf и vprintf

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Странности
DeepVarvar Супермодератор
Отправлено: 11 Мая, 2011 - 11:40:41
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Выделено в отдельную тему из темы "ВЫбрать свободный IP"
EuGen пишет:
sprintf

Это как без вывода? Про ob_start() речи не было.
Есть еще варианты не допустить вывод при sprintf() и Ко???
 
 Top
EuGen Администратор
Отправлено: 11 Мая, 2011 - 11:48:15
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Выделено в отдельную тему из темы "ВЫбрать свободный IP"
http://ru.php.net/manual/en/function.sprintf.php
- sprintf никогда ничего не выведет сама по себе.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Мая, 2011 - 11:59:43
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Выделено в отдельную тему из темы "ВЫбрать свободный IP"
EuGen если бы она у меня не выводила (равно как и vprintf, printf и пр..) я бы не спрашивал.
Тогда вопрос иной. Из-за каких настроек у меня выводит???
 
 Top
EuGen Администратор
Отправлено: 11 Мая, 2011 - 12:04:21
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Выделено в отдельную тему из темы "ВЫбрать свободный IP"
Это уже несколько не по теме. Выделим в новую.
0. Вы уверены, что не путаете printf и sprintf ?
1. На вывод отправляются только результат этих функций? Скажем, date('Y-m-d') которая тоже возвращает строку, не выводится?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Мая, 2011 - 12:08:21
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




EuGen пишет:
date('Y-m-d') которая тожевозвращает строку, не выводится?

Не выводится - возвращает результат..
А вот все ф-ции вышеуказанного семейства сразу сплевывают результат на вывод (в браузер). И ничем не перехватываются (кроме ob_start, ob_get_content и втихую ob_clean)
(Добавление)
EuGen что-то у меня не так с PHP? Бага или настройки?
 
 Top
EuGen Администратор
Отправлено: 11 Мая, 2011 - 12:22:56
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Пока что думаю что-то вроде
http://ru.php.net/manual/en/outc...output-buffering
Но странность только вышеуказанных функций удивляет. Код покажите, как тестируете, и не забудьте добавить
var_dump(ini_get_all());


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Мая, 2011 - 12:31:14
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




EuGen я сейчас на работе и в Винде, тут ничего нет кроме фотошопа,
сейчас перезагружусь в Linux, проверю поведение пыха.
Отпишусь сразу.
За проблему на домашнем компе, отпишусь уже из дома, после 20:00..
(Добавление)
На рабочей машине порядок.
*print* => выводит
*sprint* => возвращает

Как уже говорил - из дома отпишусь..
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Мая, 2011 - 20:34:11
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Ога!!! Пишу из дома.

Собственно, есть у меня на машинке две (полторы?) ламп-сборочки.
(nginx + php-fastcgi) and (Apache + mod-php), есть и cli-версия.
Пых у меня 5.2 Но он один. Это не разные дистры.

А вот ведет он себя как оказалось - совершенно бессовестно.
Если работать через Apache+mod-php - все прекрасно,
а через nginx+php-fastcgi - вылезает вышеописанная штукенция.

Выходит проблема у CGI-сборки, а она из репы, между прочим.

EuGen пишет:
var_dump(ini_get_all());

Ох, чувствую не влезет все. Лучше конкретнее параметр укажите.
(Добавление)
Это CGI:
Спойлер (Отобразить)


И вот что больше всего удивило меня сейчас:
После перезагрузки заработало как надо
 
 Top
DeepVarvar Супермодератор
Отправлено: 14 Мая, 2011 - 12:22:11
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Мне кажется что я начинаю догадываться о причинах странного поведения.
Вчера залез в "top -u www-data" и увидел там:

Восемь процессов nginx (сам так ставил)
Шесть процессов php-fastcgi (сам так ставил)
Пять процессов apache (это к проблеме не относится)
И... около пятнадцати процессов php (cli)

Так вот, я в последнее время играюсь с многопоточными демонами.
Естественно - отвязанные (fork) процессы не завершались и продолжали работать (последние экспериментальные версии нестабильны пока).
Хотя загрузка CPU стояла на 2-3%, а вот память... была забита под завязку..

Может ли быть причиной обсуждаемой проблемы - отсутствие оперативной памяти?
Если память заканчивается, промежуточные данные сбрасываются в своп.
Однако и тут нюанс - сами процессы в своп не падают..
Выходит что не найдя "места" для буфера - пых сразу сбрасывал результаты на вывод.
Но, если догадки верны, вопрос все в том же - почему именно это семейство ф-ций???
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Операционная система и системные вызовы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB