Closed FallDi closed 9 years ago
Коли не знаете английского, пишите по-русски. Вы используете явный include? Почему не хотите положиться на autoloader?
Пишу по-английски как могу - извиняйте =)
Используем исключительно require_once явный да. Autoload чуть-чуть медленнее. Получилось обойти используя анонимные функции.
Немного доп.информации - может быть поможет php -v PHP 5.4.17 (cli) (built: Oct 2 2013 16:18:19) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
никаких акселераторов или apc не используем
Лолшто? Чуть-чуть медленнее... а не всё ли равно если это происходит только единожды, а при каждом запросе?
На самом деле не важно автолоад или абсолютные инклуды.
Просто чистый файл приложения без всяких инклудов
class ZZZApi extends \PHPDaemon\Core\AppInstance {
public function init() {
error_reporting(0);
}
public function beginRequest($request, $upstream) {
function c() {}
return new ZZZApiRequest($this, $upstream, $request);
}
}
и вот лог ошибки [Tue, 3 Feb 2015 06:42:17.940740 +0000] W#35310 crashed by error 'Cannot redeclare PHPDaemon\Applications\c() (previously declared in /xxx/PHPDaemon/ZZZApi.php:31)' at /xxx/PHPDaemon/ZZZApi.php:31
Ну естественно,
function a() {function b(){}}; a(); a(); Fatal error: Cannot redeclare b() (previously declared in php shell code:1) in php shell code on line 1
извиняйте за беспокойство. я затупил(
I can't understand but i think problem in phpdaemon. I double check all my includes is right(not double include or something like this - problem is not deterministic)
APP contains something like this
class A { public function a() { function b() { } } }
some times it return bad gateway; log of phpdaemon
[Tue, 3 Feb 2015 06:12:47.603961 +0000] W#31602 crashed by error 'Cannot redeclare Namespace\a() (previously declared in /some/path/file.php:1649)' at /some/path/file.php:1649