Půjde samotná Debug třída pod PHP 5.1.2?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Petr Daňa
Člen | 109
+
0
-

Ahoj, vím, že Nette je pro min. verzi 5.2.x. Pokud půjde ale jen o Laděnku, šla by použít i v PHP 5.1.2 nebo tam jsou už použity nějaké konstrukce, které to znemožňují?

Honza Kuchař
Člen | 1662
+
0
-

Pokud vím, tak by fungovat měla.

EDIT: Ale na 100% to nevím.

Editoval honzakuchar (5. 8. 2009 16:14)

PetrP
Člen | 587
+
0
-

Tak třeba json tam nebude fungovat (používá se pro FirePHP) řešení je zde

Dříve debug fungoval i pro starší verze, ale nejlepší bude když to vyzkoušíš. Dej nam pak vědět.

Petr Daňa
Člen | 109
+
0
-

Tak po pár úpravách se mi to podařilo zprovoznit, ještě potřebuju vychytat pár věcí ve spojení s tím systémem, do kterého jsem do narval a pak sem hodím popis, co je třeba kde upravit, aby to běhalo i na 5.1.2.

Petr Daňa
Člen | 109
+
0
-

Tak už jsem snad vychytal, co jsem potřeboval, následuje postup úprav. Vycházel jsem z Nette revize 307.

Potřeba jsou následující soubory:

  • compatibility.php
  • Debug.php
  • exceptions.php
  • Debug.templates/bluescreen.phtml
  • Debug.templates/profiler.phtml (profiler jsem zatím nepoužil, takže není nijak upraven a nevím, jestli taky něco potřebuje upravit)

Změny v jednotlivých souborech:

  • compatibility.php
    • zakomentovat test verze PHP (řádek 26–28)
  • Debug.php
    • zakomentovat require skriptu Framework (řádek 27)
    • vložit zpětně kompatibilní funkci json_encode (viz. https://componette.org/search/?…)
    • v metodě enable dle potřeby upravit nastavení error_reporting (já nastavil jen E_ALL bez E_NOTICE) (řádek 307)
    • vypnout (zakomentovat) registraci shutdown funkce (řádek 380)
    • zakomentovat použití konstanty E_RECOVERABLE_ERROR (řádek 432)
    • zakomentovat řádek 757 – vložení informací o frameworku do výstupu, skript Framework.php se neincludoval
  • Debug.templates/bluescreen.phtml
    • zakomentovat použití konstanty E_RECOVERABLE_ERROR (řádek 127)
PetrP
Člen | 587
+
0
-

Petr Daňa napsal(a):

– v metodě enable dle potřeby upravit nastavení error_reporting (já nastavil jen E_ALL bez E_NOTICE) (řádek 307)

Nevypínal bych NOTICE.

  • vypnout (zakomentovat) registraci shutdown funkce (řádek 380)

Jaký je k tomuhle důvod? register_shutdown_function je od php4 ne?

A proč nepoužijete nejnovější revizi?

Editoval PetrP (6. 8. 2009 14:13)

Petr Daňa
Člen | 109
+
0
-

PetrP napsal(a):

Petr Daňa napsal(a):

– v metodě enable dle potřeby upravit nastavení error_reporting (já nastavil jen E_ALL bez E_NOTICE) (řádek 307)

Nevypínal bych NOTICE.

Ten jsem zase zapnul a nestačil jsem se divit :-) Holt to je tak, když se kdysi napsal systém pro PHP4 a dodneška se v něm bastlí, ach jo :-( Snažím se postupně napravovat co se dá, ale jsou bohužel přednější věci.

  • vypnout (zakomentovat) registraci shutdown funkce (řádek 380)

Jaký je k tomuhle důvod? register_shutdown_function je od php4 ne?

Kvůli tomuhle:

$error = error_get_last();

A protože je vlastně celá zaregistrovaná metoda shutdownHandler závislá na volání této funkce, která je až od verze 5.2.0, tak jsem to zrušil. Samozřejmě by šlo i zakomentovat vnitřek té shutdownHandler metody, ale zas mi přišlo zbytečné ji věšet na shutdown, když nic nedělá.

A proč nepoužijete nejnovější revizi?

Protože jsem tuhle měl staženou a nechtělo se mi stahovat nenovější revizi kvůli Debug tříddě :-)