Portál AbcLinuxu, 19. června 2024 04:23


PHP 5.6.0

Byla vydána nová verze PHP 5.6.0. Vedle oprav chyb mezi klíčové vlastnosti nové verze patří např. podpora pro nahrávání souborů větších než 2 GB, integrace debuggeru phpdbg, objevují se konstantní skalární výrazy nebo variadické funkce s proměnným počtem parametrů. Více v seznamu změn.

31.8.2014 13:39 | MMMMMMMMM | Nová verze


Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Josef Kufner avatar 31.8.2014 14:26 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PHP 5.6.0
Odpovědět | Sbalit | Link | Blokovat | Admin
Zdá se, že už máme zárodek přetěžování operátorů. Jsem zvědav, za jak dlouho se objeví magické metody __add, __sub a podobné.
Hello world ! Segmentation fault (core dumped)
31.8.2014 19:07 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP 5.6.0
Odpovědět | Sbalit | Link | Blokovat | Admin
podpora pro nahrávání souborů větších než 2 GB
a tedy
Uploads equal or greater than 2GB in size are now accepted.
jsem nějak nepobral, to se vztahuje k čemu, jsem přesvědčený, že na 64bit systému, nastaveném PHP a nastaveném Apache jsem větší soubory než 2GB už upload-oval na výrazně nižší verzi…, to se mi jen zdálo(?)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Conscript89 avatar 31.8.2014 19:15 Conscript89 | Brno
Rozbalit Rozbalit vše Re: PHP 5.6.0
Mozna jde prave o 32bit build.
I can only show you the door. You're the one that has to walk through it.
MMMMMMMMM avatar 31.8.2014 20:25 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: PHP 5.6.0
Na základě tohoto příspěvku jsem se díval do zdrojáku PHP 5.5.16 a 5.3.29 do souboru main/SAPI.h, kde je proměnná read_post_bytes deklarována jako int, přičemž v PHP 5.6.0 je jako int64_t, takže by to teoreticky v žádné předchozí verzi bez příslušného patche nemělo fungovat? Já to nikdy nepoužil, nemohu referovat... :-)
31.8.2014 22:25 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP 5.6.0
Příloha:
Tak jsem to zkusil normálně to lze, z přiloženého (copy&paste slátaného) dostanu výstup:
Setting

Version: 5.3.3-7+squeeze21
upload_max_filesize: -1
post_max_size: 4800M

Info $_FILES['file']

Upload: bigfile_4.5GiB
Type: application/octet-stream
Size: 512 MiB
Stored in: /tmp/phpuxpGLo

Filesize(): 4608 MiB

fstat()

Array
(
    [dev] => 64768
    [ino] => 34020
    [mode] => 33152
    [nlink] => 1
    [uid] => 33
    [gid] => 33
    [rdev] => 0
    [size] => 4831838208
    [atime] => 1409516093
    [mtime] => 1409516234
    [ctime] => 1409516234
    [blksize] => 4096
    [blocks] => 9446424
)

size: 4608 MiB

Prostě to normálně šlo i dřív, ale nebylo to (asi) možné limitovat pomocí upload_max_filesize (však stačí post_max_size) a přetáčelo to „tachometr“ v poli $_FILES.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Jendа avatar 1.9.2014 12:01 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: PHP 5.6.0
Kolik má ten stroj paměti? Resp. už to v defaultu nahrává na disk a ne do RAM?
1.9.2014 12:05 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP 5.6.0
4GiB, tímto způsobem to leze do tmp filesu, jaký buffer to používá nevím, ale řekl bych, že to není poznat na využití paměti.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Max avatar 31.8.2014 22:24 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: PHP 5.6.0
Nevím, ale není tato fce stejně tak nějak irelevantní? Dnes se na uploadování používají různé uploadery, což je komplexní řešení s čárou života, podporou přerušovaného uploadování, drag and drop a hafo dalších fcí a nic je nelimituje.
Zdar Max
Měl jsem sen ... :(
31.8.2014 22:28 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP 5.6.0
No ano, ale pokud je server PHP, tak se stejně napícháváš na PHP.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Max avatar 1.9.2014 10:09 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: PHP 5.6.0
Tak to samozřejmě, to nevyvracím. Já jen říkám, že toto je už dávno relativně dobře pořešeno.
Zdar Max
Měl jsem sen ... :(
1.9.2014 11:42 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP 5.6.0

Napadá mně, že existují doprovodná řešení v PHP jako web access na sFTP a nejsnazší je to řešit tak, že v případě uploadu se soubor uploaduje na https server a pak klasickým ftp přenosem (na localhostu, nebo v interní síti) se to přenese na FTP úložiště (řeší to jednotná práva a přihlašovací údaje, založená jen na FTP účtech).

Znám minimálně dvě řešení, které to tak mají a co jsem viděl tak se i používají - nahrávat sice takto 2GiB+ není asi to nejlepší, ale jako občasné/záložní řešení pro BFU to lze použít - no a proč být limitovaný na 2GiB, když třeba limit přes sFTP je např. 32GiB.

Prostě je dobře, že konečně ten bordel s 2^31 v PHP jak v načítání konfiguračních voleb (s atoi() ) apod. konečně nějak řeší. 32bit OS(, který se stále na něco hodí lépe než 64bit) nemusí být limitovaný v roce 2014 jen na 2^31 soubory.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Jendа avatar 1.9.2014 12:00 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: PHP 5.6.0
Za mých mladých let hlavně Apache celý nahrávaný soubor nejdřív nahrál do RAM a až pak ho flushnul na disk. Ale možná to bylo blbě nastavené.
1.9.2014 12:51 sigma
Rozbalit Rozbalit vše Re: PHP 5.6.0
Taky možná záleží jestli byl použit mod_php nebo CGI/FastCGI. Ve FastCGI módu to snad nedělal nikdy, tam je jen malý buffer a PHP procesu se celý request předává přes stdin. Je možné, že nějaká historická verze PHP i v tomto případě celý request nahrávala do paměti, ale moc se mi to nezdá...
31.8.2014 21:31 Hermetus
Rozbalit Rozbalit vše Re: PHP 5.6.0
Odpovědět | Sbalit | Link | Blokovat | Admin
kdo je trouba a nevy to tak pristi major verze nebude 6 ale 7

Založit nové vláknoNahoru


ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.