Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #21045 > unrolled thread
| Started by | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| First post | 2016-07-19 18:06 +0200 |
| Last post | 2016-07-20 08:08 -0700 |
| Articles | 13 — 3 participants |
Back to article view | Back to it.comp.www.php
valore non serializzabile alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-19 18:06 +0200
Re: valore non serializzabile fmassei@gmail.com - 2016-07-19 09:53 -0700
Re: valore non serializzabile alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-19 20:53 +0200
Re: valore non serializzabile fmassei@gmail.com - 2016-07-19 12:23 -0700
Re: valore non serializzabile alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-20 09:53 +0200
Re: valore non serializzabile Alessandro Pellizzari <shuriken@amiran.it> - 2016-07-20 10:34 +0100
Re: valore non serializzabile alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-20 14:49 +0200
Re: valore non serializzabile fmassei@gmail.com - 2016-07-20 08:09 -0700
Re: valore non serializzabile alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-20 19:36 +0200
Re: valore non serializzabile fmassei@gmail.com - 2016-07-20 10:43 -0700
Re: valore non serializzabile alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-21 17:37 +0200
Re: valore non serializzabile fmassei@gmail.com - 2016-07-21 08:51 -0700
Re: valore non serializzabile fmassei@gmail.com - 2016-07-20 08:08 -0700
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2016-07-19 18:06 +0200 |
| Subject | valore non serializzabile |
| Message-ID | <nmlj6i$1t92$1@gioia.aioe.org> |
$value = function () {};
/*
* prima si dovrebbe controllare se $value è serializzabile...
* if (...) {...}
*/
serialize($value);
PHP Fatal error: Uncaught Exception: Serialization of 'Closure' is not
allowed
Per evitare l'errore fatale, c'è un modo per sapere in anticipo se un
valore è serializzabile?
[toc] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-07-19 09:53 -0700 |
| Message-ID | <7acfe8ce-592b-4ac7-af81-9d5efc2fecd5@googlegroups.com> |
| In reply to | #21045 |
On Tuesday, July 19, 2016 at 12:06:45 PM UTC-4, alex wrote:
> $value = function () {};
> /*
> * prima si dovrebbe controllare se $value è serializzabile...
> * if (...) {...}
> */
> serialize($value);
>
> PHP Fatal error: Uncaught Exception: Serialization of 'Closure' is not
> allowed
>
> Per evitare l'errore fatale, c'è un modo per sapere in anticipo se un
> valore è serializzabile?
>
Le uniche due cose non serializzabili sono resources e Closures, basta che
controlli con questi due if.
Ciao!
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2016-07-19 20:53 +0200 |
| Message-ID | <nmlt01$cn9$1@gioia.aioe.org> |
| In reply to | #21046 |
Il 19/07/2016 18:53, fmassei@gmail.com ha scritto:
> On Tuesday, July 19, 2016 at 12:06:45 PM UTC-4, alex wrote:
>> $value = function () {};
>> /*
>> * prima si dovrebbe controllare se $value è serializzabile...
>> * if (...) {...}
>> */
>> serialize($value);
>>
>> PHP Fatal error: Uncaught Exception: Serialization of 'Closure' is not
>> allowed
>>
>> Per evitare l'errore fatale, c'è un modo per sapere in anticipo se un
>> valore è serializzabile?
>>
>
> Le uniche due cose non serializzabili sono resources e Closures, basta che
> controlli con questi due if.
>
> Ciao!
>
serialize(STDOUT); // funziona
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-07-19 12:23 -0700 |
| Message-ID | <3d637b11-93b9-44e8-bb45-83eba7734404@googlegroups.com> |
| In reply to | #21047 |
On Tuesday, July 19, 2016 at 2:53:56 PM UTC-4, alex wrote: > Il 19/07/2016 18:53, fmassei@gmail.com ha scritto: > > Le uniche due cose non serializzabili sono resources e Closures, basta che > > controlli con questi due if. > > > > Ciao! > > > > serialize(STDOUT); // funziona > Per te "funziona" vuol dire "non esplode"? :) Ciao!
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2016-07-20 09:53 +0200 |
| Message-ID | <nmnakr$1vim$1@gioia.aioe.org> |
| In reply to | #21048 |
Il 19/07/2016 21:23, fmassei@gmail.com ha scritto: > On Tuesday, July 19, 2016 at 2:53:56 PM UTC-4, alex wrote: >> Il 19/07/2016 18:53, fmassei@gmail.com ha scritto: >>> Le uniche due cose non serializzabili sono resources e Closures, basta che >>> controlli con questi due if. >>> >>> Ciao! >>> >> >> serialize(STDOUT); // funziona >> > > Per te "funziona" vuol dire "non esplode"? :) > > Ciao! > Non ho capito.
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-07-20 10:34 +0100 |
| Message-ID | <dv8usuFcp36U1@mid.individual.net> |
| In reply to | #21049 |
On 20/07/2016 08:53, alex wrote:
> Il 19/07/2016 21:23, fmassei@gmail.com ha scritto:
>> On Tuesday, July 19, 2016 at 2:53:56 PM UTC-4, alex wrote:
>>> serialize(STDOUT); // funziona
>> Per te "funziona" vuol dire "non esplode"? :)
> Non ho capito.
echo serialize(STDOUT);
PHP Notice: Use of undefined constant STDOUT - assumed 'STDOUT' in php
shell code on line 1
PHP Stack trace:
PHP 1. {main}() php shell code:0
s:6:"STDOUT";
Bye.
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2016-07-20 14:49 +0200 |
| Message-ID | <nmnrvu$rdt$1@gioia.aioe.org> |
| In reply to | #21050 |
Il 20/07/2016 11:34, Alessandro Pellizzari ha scritto:
>>
>
> echo serialize(STDOUT);
> PHP Notice: Use of undefined constant STDOUT - assumed 'STDOUT' in php
> shell code on line 1
> PHP Stack trace:
> PHP 1. {main}() php shell code:0
> s:6:"STDOUT";
echo serialize(STDOUT);
i:0;
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-07-20 08:09 -0700 |
| Message-ID | <a2f53cdd-8b60-48dd-b1d6-451e89920d32@googlegroups.com> |
| In reply to | #21051 |
On Wednesday, July 20, 2016 at 8:49:04 AM UTC-4, alex wrote:
> Il 20/07/2016 11:34, Alessandro Pellizzari ha scritto:
> >>
> >
> > echo serialize(STDOUT);
> > PHP Notice: Use of undefined constant STDOUT - assumed 'STDOUT' in php
> > shell code on line 1
> > PHP Stack trace:
> > PHP 1. {main}() php shell code:0
> > s:6:"STDOUT";
>
>
> echo serialize(STDOUT);
> i:0;
Come puoi ben vedere dalla serializzazione, sul tuo sistema STDOUT non è un
resource, ma un intero.
Ciao!
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2016-07-20 19:36 +0200 |
| Message-ID | <nmocqj$1lrf$1@gioia.aioe.org> |
| In reply to | #21054 |
Il 20/07/2016 17:09, fmassei@gmail.com ha scritto:
> On Wednesday, July 20, 2016 at 8:49:04 AM UTC-4, alex wrote:
>> Il 20/07/2016 11:34, Alessandro Pellizzari ha scritto:
>>>>
>>>
>>> echo serialize(STDOUT);
>>> PHP Notice: Use of undefined constant STDOUT - assumed 'STDOUT' in php
>>> shell code on line 1
>>> PHP Stack trace:
>>> PHP 1. {main}() php shell code:0
>>> s:6:"STDOUT";
>>
>>
>> echo serialize(STDOUT);
>> i:0;
>
> Come puoi ben vedere dalla serializzazione, sul tuo sistema STDOUT non è un
> resource, ma un intero.
Stessa cosa per i file
$x=fopen('/tmp/lòaladsflkk','w');
var_dump($x);
serialize($x);
resource(5) of type (stream)
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-07-20 10:43 -0700 |
| Message-ID | <c7a3b602-dadf-4f5d-ba0b-e62248e6a79b@googlegroups.com> |
| In reply to | #21055 |
On Wednesday, July 20, 2016 at 1:36:22 PM UTC-4, alex wrote:
> Il 20/07/2016 17:09, fmassei@gmail.com ha scritto:
> > On Wednesday, July 20, 2016 at 8:49:04 AM UTC-4, alex wrote:
> >> Il 20/07/2016 11:34, Alessandro Pellizzari ha scritto:
> >>>>
> >>>
> >>> echo serialize(STDOUT);
> >>> PHP Notice: Use of undefined constant STDOUT - assumed 'STDOUT' in php
> >>> shell code on line 1
> >>> PHP Stack trace:
> >>> PHP 1. {main}() php shell code:0
> >>> s:6:"STDOUT";
> >>
> >>
> >> echo serialize(STDOUT);
> >> i:0;
> >
> > Come puoi ben vedere dalla serializzazione, sul tuo sistema STDOUT non è un
> > resource, ma un intero.
>
> Stessa cosa per i file
>
> $x=fopen('/tmp/lòaladsflkk','w');
> var_dump($x);
> serialize($x);
>
> resource(5) of type (stream)
... non ti tira un'eccezione, ma una stringa vuota non mi sembra una
serializzazione tanto valida, figuriamoci utile... a te sì?
Ciao!
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2016-07-21 17:37 +0200 |
| Message-ID | <nmqq7c$t10$1@gioia.aioe.org> |
| In reply to | #21056 |
Il 20/07/2016 19:43, fmassei@gmail.com ha scritto:
>> $x=fopen('/tmp/lòaladsflkk','w');
>> var_dump($x);
>> serialize($x);
>>
>> resource(5) of type (stream)
>
> ... non ti tira un'eccezione, ma una stringa vuota non mi sembra una
> serializzazione tanto valida, figuriamoci utile... a te sì?
E quando ho detto che è utile?
Sarebbe invece utile una bella funzione is_serializable(), e dovrò fare
la solita senzalazione...
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-07-21 08:51 -0700 |
| Message-ID | <835fa097-890a-48f8-bf37-7981bd0785df@googlegroups.com> |
| In reply to | #21058 |
On Thursday, July 21, 2016 at 11:37:19 AM UTC-4, alex wrote: > Sarebbe invece utile una bella funzione is_serializable(), e dovrò fare > la solita senzalazione... Le uniche due cose non serializzabili sono resources e Closures, basta che controlli con questi due if. Ciao!
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-07-20 08:08 -0700 |
| Message-ID | <0cafa3db-b2cc-4c5b-b322-09ac1206c18a@googlegroups.com> |
| In reply to | #21050 |
On Wednesday, July 20, 2016 at 5:34:24 AM UTC-4, Alessandro Pellizzari wrote:
> On 20/07/2016 08:53, alex wrote:
> > Il 19/07/2016 21:23, fmassei@gmail.com ha scritto:
> >> On Tuesday, July 19, 2016 at 2:53:56 PM UTC-4, alex wrote:
>
> >>> serialize(STDOUT); // funziona
>
> >> Per te "funziona" vuol dire "non esplode"? :)
>
> > Non ho capito.
>
> echo serialize(STDOUT);
> PHP Notice: Use of undefined constant STDOUT - assumed 'STDOUT' in php
> shell code on line 1
> PHP Stack trace:
> PHP 1. {main}() php shell code:0
> s:6:"STDOUT";
>
Sì, com'è definito dipende dalla SAPI e dalla versione di PHP (ho cercato una
lista ma non l'ho trovata), e potrebbe essere definito come:
- "php://stdout' (la stringa da usare per una fopen sullo stdout)
- fopen('php://stdout', 'r') (per risparmiarti la fopen)
- 0 (ovvero come il numero di file descriptor)
Visto che si parlava di resources mi sembrava ovvio che l'OP avesse un
sistema dove era definita come nel secondo caso..
Ciao!
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.www.php
csiph-web