А я таки что-то да умею.
Как оказалось, мой rc.script для PHP-FCGI кому то да пригодился кроме меня.
Posted in Программинг&Коддинг, Разное, Adminspotting | no comments |
lytdybr
Не получается запостить в Twitter ч-з Jabber – не беда, тут тоже редко посты проскакивают
глобальные переменные – is evil
нужно произносить с неистовой злостью…
Posted in Программинг&Коддинг, Премия Дарвина | 1 comment |
об CakePHP и Ruby on Rails
Мужики действительно жгут. И это действительно лучший эпизод.
Posted in Программинг&Коддинг | no comments |
Yesterday...
Как в Smarty получить вчерашнее число?
Можно путем несложным математических преобразований из $smarty.now, а моожно:
{assign var="yesterday" value="yesterday"|@strtotime|date_format:'%m/%d/%Y'}
И таким образом можно получить хоть три недели и один день назад.
Posted in Программинг&Коддинг | 1 comment |
По что тrавите?
И вообще – я сионистом раньше был… сейчас правда пхпешником стал
Posted in Программинг&Коддинг, Разное | no comments |
И ведь потом они пишут книжки...
Отстреливать таких писателей. За передачу включаемого файла в качестве параметра запроса – пожизненный эцих с гвоздями. Фильтруй-не-фильтруй, а все равно в результате – говнокод.
Posted in Программинг&Коддинг, Adminspotting, Премия Дарвина | no comments |
Рак мозга...
товарищи. кто знает цензурный аналог слова “охуел”, но примерно в два раза более сильный?
phorror отжог
Posted in Программинг&Коддинг, Adminspotting, Премия Дарвина | no comments |
PHP Security Tips
Google-reader уже неделю как, рассказывает мне о том, что в Zend Developer Zone началась движуха по поводу того, что каждый мнящий себя PHP-программером может запостить свой совет по безопасности.
Из на данный момент 7-ми советов, более-мение PHP-специфик и не розжованых/заезженных, или же таких, существование которых не являются следствием основного отличия человека от обезьянки нет. Разве что 7-й… и то - с натяжкой…
Posted in Программинг&Коддинг | no comments |
PHP4+XSLT+ZendOptimizer
Я уже писал, что мне приходят дайджесты fido7.ru.unix.bsd. Так вот очередная заинтиресовававшая меня тема: ”xslt+zend=core dump”.
Суть проблемы заключается в том, что если у вас с утра в гороскопе было сказано, что будут проблемы, а вы не признаете гороскоп, или же вы поставили не на ту сферическую лошадку в вакууме, или же просто так и в добавок ко всему у вас есть PHP4, использующий свой extension xslt вместе с ZendOptimizer (как cli так и апач с mod_php) , то у вас заимеется возможность поближе подружится с софтом, который “выпадает в корку”. Причем, действительно не понятно (во всяком случае мне и пока) по какой причине такое происходит.
У меня это было на одной из машин, находившихся в моей юриздикции.
Об помощи, я даже спрашивал у “знатоков” в PHPClub‘е…
Sergey A. Gribchenko также напоролся на эту проблему, о чем он не поленился написать в рассылку UAFUG‘а. К тому времени методом научного тыка я уже нашел один способ, как заставить апач работать и не выпадать в кору, чем там же и поделился.
Алгоритм весьма прост.
Для того, что бы запустить сам апач, коментируем в соответсвующем ini-файле (/usr/local/etc/php.ini и /usr/local/etc/php/extensions.ini) строчку о XSLT-модуле.
/usr/local/etc/php/extensions.ini:
2 extension=snmp.so
3 extension=mbstring.so
4 extension=mysql.so
5 extension=pcre.so
6 extension=xml.so
7 ;extension=xslt.so
8 extension=bz2.so
9 extension=mcrypt.so
10 extension=session.so
11 extension=zlib.so
12 extension=openssl.so
13 extension=tokenizer.so
14 extension=pdf.so
15 extension=gd.so
16 extension=ctype.so
17 extension=sqlite.so
/usr/local/sbin/apachectl graceful: httpd gracefully restarted
В результете получаем работающий mod_php c XSLT и ZendOptimizer’ом.
Недостаток налицо: при старте системы сам апач так не подымется, и не каждый duty-андроид в состоянии понять, что надо сделать и зачем.
Впоследствии, применив повторно метод, придуманый выдающимся немецким математиком и врачом Гансом Фридрихом Тыком, был обнаружен еще один способ. Этот еще проще. Внимание, сейчас будет смешно.
Строчку c extension=xslt.so необходимо записать ДВАЖДЫ:
2 extension=snmp.so
3 extension=mbstring.so
4 extension=mysql.so
5 extension=pcre.so
6 extension=xml.so
7 extension=xslt.so
8 extension=xslt.so
9 extension=bz2.so
10 extension=mcrypt.so
11 extension=session.so
12 extension=zlib.so
13 extension=openssl.so
14 extension=tokenizer.so
15 extension=pdf.so
16 extension=gd.so
17 extension=ctype.so
18 extension=sqlite.so
В результате, конечно же, получим при старте кучу warning’ов наподобии этого:
PHP Warning: Function registration failed - duplicate name - xslt_create in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_sax_handlers in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_scheme_handlers in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_error_handler in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_base in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_encoding in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_log in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_process in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_error in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_errno in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_free in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_object in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_setopt in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_getopt in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_backend_version in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_backend_name in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_backend_info in Unknown on line 0
PHP Warning: xslt: Unable to register functions, unable to load in Unknown on line 0
PHP 4.4.4 with Suhosin-Patch 0.9.6 (cli) (built: Dec 27 2006 12:51:47)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
with Zend Extension Manager v1.0.8, Copyright (c) 2003-2005, by Zend Technologies
with Zend Optimizer v2.5.10, Copyright (c) 1998-2005, by Zend Technologies
но зато работает, и стартует без проблем со стартом системы.
Единственная неувязочка - при обновлении самого textproc/php4-xslt, система стирает содержимое о модуле из extensions.ini, о чем заблаговременно позаботились разработчики bsd.php.mk. Лечится или вынесением одной из строчек в сам php.ini, или жешче: установкой флага schg на файл.
-rw-r–r– 1 root wheel - 306 Jan 8 20:47 /usr/local/etc/php/extensions.ini
# chflags noschg /usr/local/etc/php/extensions.ini
# ls -lo /usr/local/etc/php/extensions.ini
-rw-r–r– 1 root wheel schg 306 Jan 8 20:47 /usr/local/etc/php/extensions.ini
Главное об этом потом не забыть, когда чего нить досталять нужно.
Posted in Adminspotting, Софт | 2 comments |
Older posts: 1 2