<b>Opět nové PHP (tentokrát 4.3.0)</b>

<HTML>Někdo si všiml, někdo ještě ne, nicméně je tu ;-)

Rozjel jsem Apache 2.0.43 s PHP 4.3.0 ... viz http://mt.wz.cz/info.php
Po delším testování jsem tuhle konfiguraci uznal za stabilní - i když zatím jen v prefork MPM :( , nicméně:
prosil bych uživatele, kteří mají nějaké rozsáhlejší php weby, aby si je odladili znovu pro vyšší verzi php. Myslím teď zejména parametry funkce setlocale() tak, aby jeji volání nevypisovalo warningy (je nutné zadat třídu nastavení konstantou a ne řetězcem - v praxi stačí vyhodit uvozovky kolem toho LC_ řetězce). Hlavně pokud používate phpnuke tak se to týká i vás.
Já kvůli tomu vypnul vypisovaní warningu v php, vypisují se jen chyby. časem by bylo pěkné to znovu zapnout i na warningy ... myslím, že třeba za 14 dní až měsíc by bylo rozumná doba.

Další velká věc je gd2, nemám s tím sám tolik zkušeností, ale předpokládám, že je možné, že by něco mohlo přestat fungovat, i když by to nemělo být časté. Každopádně aspoň překontrolujte.</HTML>
V souvislosti s přechodem na PHP 4.3.0 doporučuji pročíst i fórum na http://forum.pipni.cz, tam už je tato verze nějakou dobu rozjetá...a admini by si třeba mohli vyměnit zkušenosti a poznatky...

Jak mira dobře napsal, uživatelé PHP-Nuke by si měli pozorně všimnout všech hlášek, které jim na jejich webu vyskočí a udělat potřaičnou nápravu.

Vzhledem k tomu, že tady admin zakázal vypisování varování, dejte si do souboru manfile.php, úplně nahoru (ale za <?php...) příkaz :

error_reporting(E_WARNING | E_NOTICE);

a všimněte si, kde Vám to varování hází...mělo by to být v mainfile.php, block-Downloads.php, block-Old_Articles.php a možná ještě někde, podle toho, jaké moduly máte aktivní.

Pak až tam najdete warning, změňte v souborech, na které Vás skript varuje následující :

setlocale("LC_TIME", něco) na setlocale(LC_TIME, něco)

Osobně nedoporučuji zapínat error_reporting(E_ALL); jinak byste se divili co PHP-Nuke dokáže ;-)

Možná vám bude taky skákat hláška úplně dole o tom, že ob_gzhandler není podporován, ale nevím, jak to tady admin zkompiloval.

Po odstranění závad zase řádek error_reporting(E_WARNING atd.) smažte nebo zakomentujte.

Pokud se vám ještě objeví jiná hláška a to v souvislosti s includem, opět se mrkněte kterého souboru se to týká a pak změňte jeho cestu na správnou.

Příklad :

v modules/Your_Account/index.php je část k´pdu obsahující include("states.inc"); /teda normálně není, to jsem si tam přidal, ale uvádím to pouze jako příklad). Za normálních okolností by vše bylo v pořádku, protože index.php i states.inc leží ve stejném adresáři. V novém PHP to ale vyhodí chybku, resp. varování a je nutné nastavit cestu od rootu až k souboru, tedy include("modules/Your_Account/states.inc");.

Doudám, že jsem tím příznivcům PHP-Nuka trošku pomohl.
<HTML>diky za pomoc, byl jsem liny a musim setrit prsty ;-)</HTML>
diky funguje to ok
a jde se do grafiky
Tak nevim co je spatne, prestal mi fungovat script kterej uz mam na webzdarma prezrok, neni to teda chlouba programatorskyho umeni, ale me to stacilo a za ten rok uz ani nevim co php je, ale fungoval na proncipu
nacteni adresaru v rootu do pole a vytvoreni odkazu na index.php umisteny v techto adresarich
byla to jednoducha fotogalerie bez pouziti sql
kdyztak nekdo poradte jestli je to jen docasny nebo s tim mam neco delat.
Takhle obecně Ti nikdo moc neporadí. Když tak pošli ten kód (
na stránkách jsme nic neviděl) nebo si zapni error_reporting(E_ALL); a pošli chybičky, které Ti to vypíše.

error_reporting(E_ALL); se dává do hlavní stránky nebo do stránky, u které chceš sledovat chybové hlášení, upozornění a poznámečky...
tak jsem udelal cos poradil
tady jsou ty hlasky

moc moudrej z toho nejsem
proste tam jsou nastaveny asi naky restrikce a tim padem koncim

jinak dik za pomoc
Warning: access to /3w/wz.cz/g/gb from /3w/wz.cz/g/gb/ denied in /3w/wz.cz/g/gb/index.php on line 34

Warning: opendir() [function.opendir]: open_basedir restriction in effect. File(.) is not within the allowed path. in /3w/wz.cz/g/gb/index.php on line 34

Warning: opendir(.) [function.opendir]: failed to open dir: Operation not permitted in /3w/wz.cz/g/gb/index.php on line 34

Warning: readdir(): supplied argument is not a valid Directory resource in /3w/wz.cz/g/gb/index.php on line 36

Warning: sort() expects parameter 1 to be array, null given in /3w/wz.cz/g/gb/index.php on line 41

Notice: Undefined variable: aa in /3w/wz.cz/g/gb/index.php on line 44

Notice: Undefined variable: datesub in /3w/wz.cz/g/gb/index.php on line 180
ono byto taky chtelo dem hodit ten zdrojak jinak se podivej na radky 34,36,41,44,180
Zdrojak je teda tady sice je neprehlednej jak ...
,ale kdyz mi nekdo poradi budu vdecnej
mozna bych se spis mel porvat se svoji lenosti a kouknout se na to cim by to mohlo bejt, ale ted nemam moc casu

<?php


echo "";
echo "<head>";
echo "<title>Fotografie z $date </title>";
echo "</head>";
echo "<body bgcolor=\"#5d4da5\">";

echo "<style type=\"text/css\">
<!--
body {
scrollbar-face-color: #5d4da5;
scrollbar-arrow-color: #FFFFFF; }
-->
</style>";

echo "<p align=center><img src=\"../obr/top.gif\"></p>";
echo "<p align=center><font color=\"black\" size=\"6\" face=\"Arial CE\">$date</font></p>";
echo "<p align=center><img src=\"../obr/line.gif\"></p>";


$handle=opendir('.');

while (false!==($file1 = readdir($handle)))
{ if ( "jpg"==substr($file1,-3) or "JPG"==substr($file1,-3)) {$Padr[$a] = $file1;
++$a; }
}
closedir($handle);
sort($Padr);

$pocet=(count($Padr));
for ($i= 0; $i < $pocet; ++$i) {


$txtF=((substr($Padr[$i],-12,9)).txt);
if (!$flag=@fopen($txtF,r))

{

echo "<p><table align=center border=\"0\" bgcolor=\"#FFFFFF\"><tr><td align=center><a href=\"$Padr[$i]\" target=\"$Padr[$i]\"><img src=\"small/s$Padr[$i]\" width=\"160\" height=\"120\"></td></tr></table>";
echo "<p align=center><img src=\"../obr/line.gif\"></p>";
}

else
{echo "<p><table align=center border=\"0\" bgcolor=\"#FFFFFF\"><tr><td align=center><a href=\"$Padr[$i]\" target=\"$Padr[$i]\"><img src=\"small/s$Padr[$i]\" width=\"160\" height=\"120\"></td></tr><tr><td bgcolor=\"#00FFFF\"><pre>";
fpassthru($flag);
echo "</pre></td></tr></table>";
echo "<p align=center><img src=\"../obr/line.gif\"></p>";
}

}
echo "<p align=center><img src=\"../obr/bottom.gif\"></p>";
?>
Warning: opendir() [function.opendir]: open_basedir restriction in effect. File(.) is not within the allowed path. in /3w/wz.cz/g/gb/index.php on line 34


Podívej se do toho index.php na řádek 34, určitě tam máš nějakou prýci se souborem - ať už include nebo cokoli jiného. Tam si musíš nastavit celou cestu k souboru. Už neplatí, že když máš třeba :

www/guestbook/index.php

tak Ti stačí udělat include("soubor.php");

když máš soubor ve stejném adresáři, takže :

www/guestbook/soubor.php

Aby Ti to fungovalo, musíš zadat include("www/guestbook/soubor.php");

To by byla ta hláška s "is not within the allowed path". a ty ostatní s tím možná souvisí.

Pokud tam nemáš include, tak třeba reqiure nebo fopen nebo něco podobného. Zkus tam nastavit celou cestu (nemusí být absolutní, stačí relativní, ale od kořene webu). taky jsem měl takovou hlášku na reikiweb.cz a toto mi pomohlo.
A co výkon? Jak moc je to lepší?
> Warning: opendir() [function.opendir]: open_basedir restriction in effect.
> File(.) is not within the allowed path. in /3w/wz.cz/g/gb/index.php on line 34

moje chyba, omlouvam se, opravim za chvili

> A co výkon? Jak moc je to lepší?

tak zkusenosti jsem uz ziskal docela dost, budou se hodit, precejen testovat apache2 na wz je neco dost jineho nez localhost (tam mi to bezelo bez problemu uz pred pul rokem)

vykon je vyrazne lepsi v proces modelu zalozenem na vlaknech (prefork verze, ktera jede na serveru ted, se v principu tak moc nelisi), aspon v nasem prostredi se to vyplati dost (uspora pameti nekde kolem 0.5-1GB), pokud nemate prilis mnoho spojeni na svem apache 1.3 serveru, zustal bych jeste nejakou dobu u nej (dvojka je sice dobre pouzitelna, ale prechodem tak moc neziskate)
Zo je celkem možný ,ale mě se pos* celej chat (viz http://escapechat.wz.cz/ ) !
>Zo je celkem možný ,ale mě se pos* celej chat (viz
> http://escapechat.wz.cz/ ) !
jestli ji ten chat opravdu napsal byl by jsi ho schopen znovu odladi
pokud ne tak to dohromady nedas
(je v tom nejaka picovina (chcev to trochu zmnenit syntax)
>>jestli ji ten chat opravdu napsal byl by jsi ho schopen znovu odladi

No jo, já sem ho měl na disku.A nefunguje to ani když to nahraju znova.
>> jestli ji ten chat opravdu napsal byl by jsi ho schopen znovu odladi
> No jo, já sem ho měl na disku.A nefunguje to ani když to nahraju znova.

No comment :o)

Radek
:-) nojo, david... mozna to zkus jesto adin raz:-)
odladit je neco jineho nez uploadovat...

m.s.
co se vubec zmenilo diky apache2 a novemu php? Mam to chapat, ze stare scripty se ted nemusi rozjet?
a pokud ano, tak by me zajimalo, co bude nejcastejsi problem. a urcite nejsem sam.
jedine co dodam je pi zustavat u stare verze PHP po nahlem prechodu vam bud spousta scriptu nepude a nebo vam pude ale jinak nez doufate
nevite jak to je ze sesionama v novym php

Warning: Cannot send session cookie - headers already sent by (output started at /3w/wz.cz

mne to dava tenhle worner a nevim co stim je

diky za odpoved
Cookie se posila v hlavicce (V hlavicce protokolu, nikoli v hlavicce html souboru!). No a php neumi poslat hlavicku, kdyz uz
posila samotny soubor. (To je mozna i dane protokolem HTTP,
odbornici by ti to vysvetlili lepe).

Reseni je, pokud ti to pise: headers already sent by (output started at
dat posilani hlavicky dopredu pred 1. znak vystupu.
Tim vystupem muze byt nekdy hlaseni o chybe, takze oprav chyby pred tim
a tohle se samo spravi. :-)
Hi,

z noveho PHP nejak zmizel parametr APPL_PHYSICAL_PATH. Mam v jednom includu funkci, ktera cte data z konktretniho souboru, ale tuto funkci volam z ruznych php skriptu z ruznych addresaru. Pac konstrukce "/dir/soubor" nejde, jak jinak zjistit "pocatek" meho prostoru.

Lze to sice zadat rucne, ale doma kdyz si to odladuji, tak bych to zase musel prepisovat a pak bych na to urcite zapomnel.
<HTML>APPL_PHYSICAL_PATH ?

SCRIPT_FILENAME funguje vsude bych rekl</HTML>
Jenze pokud nevim, v kterem podadresari jsem, tak je mi to na houby.

potreboval bych se nekde dopidit k retezci "/3w/wz.cz/r/rak/", kterej mi vracel prave APPL_PHYSICAL_PATH nezavisle na tom, v jakem podadresari jsem zrovna stal.
kdyby ses koukl na phpinfo() tak tam mas vsechny tyhle vecicky napsany v podobe $_SERVER promenych se koukni boze a nauc se to taky pouzivat