Strict Standards: Chyba
- Rampa
- Člen | 65
Ahoj všem.
Jeden dotaz. Používám nette 0.9.2 pro PHP 5.2, ale na serveru mam PHP
5.3.
Všechno šlape, jeno hází na začátku každé šablony chybu:
Strict Standards: Only variables should be passed by reference in D:\UniServer\www\libs\Nette\Loaders\LimitedScope.php on line 70
Verzi 0.9.2 pro PHP se mi nepodařilo rozjet (se jmenými prostory se zatím
moc nekamarádím… :()
Dá se tato chyba nějak ošetřit v kódu, aby verze pro PHP 5.2 běžela pod
5.3?
Díky
Edit: Ještě jsem zapoměl, testoval jsem na serveru s 5.2 a tam ta chyba nevyskakuje.
Editoval Rampa (25. 11. 2009 11:25)
- Ondřej Mirtes
- Člen | 1536
Já mám taky verzi pro PHP 5.2 na serveru s PHP 5.3 a tento problém nepozoruji, zkus updatovat Nette.
- David Grudl
- Nette Core | 8228
Způsoboval to PHP bug #48912, ale ten se projevoval jen v souvislosti se jmennými prostory. Nemáš tam někde jmenný prostor? Jakou máš přesně verzi PHP?
- Rampa
- Člen | 65
tak jsem stáhnul verzi Nette Framework 0.9.2 (revision b9fd602 released on
2009–11–12) for PHP 5.3
PHP mám 5.3.0.
Jmenné prostory používám a tu chybu nějak nedokážu odstranit. :(
Dělá to přesně v tý funkci, jak je popsano v tom bugu:
<?php
if (!function_exists($_cb->blocks['content'][] = '_cbb095901b069_content')) { function _cbb095901b069_content() { extract(func_get_arg(0))
?>
- cuga
- Člen | 210
chybu vyhazuje kazdy radek s definici bloku
if (!function_exists($_cb->blocks['title'][] = '_cbbe3a2539605_title')) { function _cbbe3a2539605_title($_cb) { extract(func_get_arg(1))
muze nekdo zareagovat jestli to ma nejake reseni?
pravdepodobne se mu nelibi prave extract(func_get_arg(1))…
chyba se projevuje na produkcnim serveru apache, s PHP verzi 5.2.12 a Nette Framework 1.0-alpha pro PHP 5.2
Editoval cuga (13. 5. 2010 14:04)
- David Grudl
- Nette Core | 8228
Nevím, co k tomu napsat, protože se mi nestává a nejsem schopen to nasimulovat. Takže asi zkoušet postupně zjednodušovat PHP kód a zjistit, co to přesně způsobuje.
- Honza Kuchař
- Člen | 1662
Ha je to asi opravdu chyba. Měl jsem ji taky v nějaké komponetě.
http://cz.php.net/…get-args.php
Changelog
Version Description
5.3.0 This function can now be used in parameter lists.
5.3.0 If this function is called from the outtermost scope of a file which has
been included by calling include() or require() from within a function in the
calling file, it now generates a warning and returns FALSE.
Dále
Notes
Note: Because this function depends on the current scope to determine parameter details, it cannot be used as a function parameter in versions prior to 5.3.0. If this value must be passed, the results should be assigned to a variable, and that variable should be passed.
Note: This function returns a copy of the passed arguments only, and does not account for default (non-passed) arguments.
- cuga
- Člen | 210
kdyz hodim na web neminifikovanou verzi nette tak mi to vyhodi do logu tuhle sadu hlasek
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/libs/Nette/Loaders/LimitedScope.php:62
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/libs/Nette/Loaders/LimitedScope.php:62
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_FrontModule.templates.Default.default.phtml-ab21dea56c28ea59573e7d0e07017188.php:11
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_FrontModule.templates._layout.phtml-3f29bc0ba81a1e8274825c3dcd22bf6a.php:27
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/libs/Nette/Loaders/LimitedScope.php:62
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_www.doc.www.vysokeskoly.cz.www.cuga.libs.Extras.Navigation.menu.phtml-291fdf03f50f5928c09b82753817b5f3.php:11
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_www.doc....www.cuga.libs.Extras.Navigation.menu.phtml-291fdf03f50f5928c09b82753817b5f3.php:11
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_www.doc....www.cuga.libs.Extras.Navigation.menu.phtml-291fdf03f50f5928c09b82753817b5f3.php:11
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_www.doc.....www.cuga.libs.Extras.Navigation.menu.phtml-291fdf03f50f5928c09b82753817b5f3.php:11
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_www.doc.....www.cuga.libs.Extras.Navigation.menu.phtml-291fdf03f50f5928c09b82753817b5f3.php:11
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_FrontModule.templates._layout.phtml-3f29bc0ba81a1e8274825c3dcd22bf6a.php:35
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_FrontModule.templates.Default.default.phtml-ab21dea56c28ea59573e7d0e07017188.php:59
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/libs/Nette/Loaders/LimitedScope.php:62
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_FrontModule.templates.Default.default.phtml-ab21dea56c28ea59573e7d0e07017188.php:27
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_FrontModule.templates.Default.default.phtml-ab21dea56c28ea59573e7d0e07017188.php:27
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_FrontModule.templates.Default.default.phtml-ab21dea56c28ea59573e7d0e07017188.php:27
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_FrontModule.templates.Default.default.phtml-ab21dea56c28ea59573e7d0e07017188.php:27
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/app/temp/c-Nette.Template/_FrontModule.templates.Default.default.phtml-ab21dea56c28ea59573e7d0e07017188.php:27
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/libs/Nette/Loaders/LimitedScope.php:62
[2010-05-21 16-12-45] PHP Strict standards: Only variables should be passed by reference in /www/doc/.../www/cuga/libs/Nette/Loaders/LimitedScope.php:62
vyteckoval jsem nazev webu, tak aby se nekdo nedivil co to ma byt :)
- Honza Kuchař
- Člen | 1662
U mě na localhostu mi to udělalo taky, ale jen jednou a od té doby je to ok. (v tom doplňku) Tak nevím. Rozhodně je to jistější rozepsat.