Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #21045 > unrolled thread

valore non serializzabile

Started byalex <1j9448a02@lnx159sneakemail.com.invalid>
First post2016-07-19 18:06 +0200
Last post2016-07-20 08:08 -0700
Articles 13 — 3 participants

Back to article view | Back to it.comp.www.php


Contents

  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

#21045 — valore non serializzabile

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-07-19 18:06 +0200
Subjectvalore 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]


#21046

Fromfmassei@gmail.com
Date2016-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]


#21047

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-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]


#21048

Fromfmassei@gmail.com
Date2016-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]


#21049

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-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]


#21050

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2016-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]


#21051

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-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]


#21054

Fromfmassei@gmail.com
Date2016-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]


#21055

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-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]


#21056

Fromfmassei@gmail.com
Date2016-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]


#21058

Fromalex <1j9448a02@lnx159sneakemail.com.invalid>
Date2016-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]


#21059

Fromfmassei@gmail.com
Date2016-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]


#21053

Fromfmassei@gmail.com
Date2016-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