Я шарил с этим, и проблема, кажется, в компонентах Agavi, конкретно:
lib/agavi/src/filter/AgaviExecutionFilter.class.php
И в writeCache()
метод:
@mkdir(AgaviConfig::get('core.cache_dir') . DIRECTORY_SEPARATOR .
self::CACHE_SUBDIR .
DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR ,
array_slice($groups, 0, -1)), 0777, true);
Я бросил строку регистратора в этот код и видел, что mkdir пытается рекурсивно создать каталог, такой как:
/usr/local/icinga-www/app/cache/content/amF2YXNjcmlwdF9jb250ZW50/QXBwS2l0X1dpZGdldHMvU3F1aXNoTG9hZGVy
Я удалил это, перезапустил апача, но сохраненную проблему.
В этой точке сервер выполнял PHP 5.2.17.
Я обновил PHP до 5.3.5, и эта проблема волшебно разрешила себя.
Из интереса я выпил PHP к 5.2.17, чтобы видеть, были ли какие-либо различия между mkdir()
функциональное поведение в той версии по сравнению с той в 5.3.5. Сценарий тестирования показал, что все, что сделал PHP, было, предупреждают, что папка существовала в обеих версиях, не было никакой брошенной серьезной ошибки.
Кроме того, и причудливо, icinga-сеть начала работать с PHP 5.2.17...., и я понятия не имею почему. Я проверил файлы php.ini обеих версий, думая, что error_reporting настройки, возможно, изменились, но они были тем же (за исключением того, что PHP 5.3.5 установлен на E_ALL & ~E_NOTICE | E_DEPRECATED
тогда как 5.2.17 установлен на E_ALL & ~E_NOTICE
).
Надежда это полезно для кого-либо еще встречающегося с той же проблемой.
Before someone closes this I ended up crafting an ugly script:
It has most of the basic information I need and I will probably expand it so it fits our internal needs.
$ python scanner.py --help
usage: scanner.py [-h] [--num-cpus NUM_CPUS] [--infile INFILE] [--port PORT]
optional arguments:
-h, --help show this help message and exit
--num-cpus NUM_CPUS Number of CPUs. Sets the maximum number of parallel
tasks.
--infile INFILE Input file to read from (Default: stdin).
--port PORT Which port shall be scanned! (If you can guess the
default you are ueber!)
[INFO/MainProcess] process shutting down