Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #21754 > unrolled thread
| Started by | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| First post | 2017-11-15 09:27 +0100 |
| Last post | 2017-11-18 19:49 +0100 |
| Articles | 20 on this page of 26 — 2 participants |
Back to article view | Back to it.comp.www.php
verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-15 09:27 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-15 09:43 +0100
Re: verificare attivazione dell'error_prepend_string Leonardo Serni <lserni@gmail.com> - 2017-11-15 10:15 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-15 21:01 +0100
Re: verificare attivazione dell'error_prepend_string Leonardo Serni <lserni@gmail.com> - 2017-11-15 21:43 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-16 16:54 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-16 19:57 +0100
Re: verificare attivazione dell'error_prepend_string Leonardo Serni <lserni@gmail.com> - 2017-11-17 01:08 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-17 10:59 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-17 14:44 +0100
Re: verificare attivazione dell'error_prepend_string Leonardo Serni <lserni@gmail.com> - 2017-11-18 00:00 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-18 10:27 +0100
Re: verificare attivazione dell'error_prepend_string Leonardo Serni <lserni@gmail.com> - 2017-11-18 14:07 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-18 19:46 +0100
Re: verificare attivazione dell'error_prepend_string Leonardo Serni <lserni@gmail.com> - 2017-11-18 20:45 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-20 12:04 +0100
Re: verificare attivazione dell'error_prepend_string Leonardo Serni <lserni@gmail.com> - 2017-11-20 19:07 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-20 21:43 +0100
Re: verificare attivazione dell'error_prepend_string Leonardo Serni <lserni@gmail.com> - 2017-11-20 23:34 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-21 09:49 +0100
Re: verificare attivazione dell'error_prepend_string Leonardo Serni <lserni@gmail.com> - 2017-11-21 15:29 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-21 18:15 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-18 10:36 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-18 10:40 +0100
Re: verificare attivazione dell'error_prepend_string Leonardo Serni <lserni@gmail.com> - 2017-11-18 14:08 +0100
Re: verificare attivazione dell'error_prepend_string alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-11-18 19:49 +0100
Page 1 of 2 [1] 2 Next page →
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-15 09:27 +0100 |
| Subject | verificare attivazione dell'error_prepend_string |
| Message-ID | <ougtop$1fa7$1@gioia.aioe.org> |
$url = 'http://qualcosa';
$contents = file_get_contents($url);
if (false === $contents) exit(1);
$error_prepend_string = 'test_666';
if (false !== strpos($contents, $error_prepend_string)) throw new
\Exception(
"La pagina '$url' contiene l'error-prepend-string
'$error_prepend_string'."
);
Naturalmente affinchè tutto funzioni *correttamente* bisogna aprire il
file */php.ini e controllare che ci sia la riga
error_prepend_string = "test_666"
e che sia *decommentata*.
Infatti spesso succede che in seguito ad aggiornamenti di apache, php,
ecc., tale impostazione venga riportata allo stato iniziale, e se nella
pagina 'http://qualcosa' c'è qualche errore, non viene lanciata
l'apposita exception: tu pensi che tutto stia funzionando invece quando
tra una settimana/mese/anno te ne accorgi devi aprire il pronto soccorso :)
Come si può fare per verificare che, nell'apposito php.ini,
l'error_prepend_string sia impostata correttamente?
[toc] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-15 09:43 +0100 |
| Message-ID | <ougumk$1gp8$1@gioia.aioe.org> |
| In reply to | #21754 |
Il 15/11/2017 09:27, alex ha scritto:
> $url = 'http://qualcosa';
>
> $contents = file_get_contents($url);
> if (false === $contents) exit(1);
>
> $error_prepend_string = 'test_666';
>
> if (false !== strpos($contents, $error_prepend_string)) throw new
> \Exception(
> "La pagina '$url' contiene l'error-prepend-string
> '$error_prepend_string'."
> );
>
>
> Naturalmente affinchè tutto funzioni *correttamente* bisogna aprire il
> file */php.ini e controllare che ci sia la riga
>
> error_prepend_string = "test_666"
>
> e che sia *decommentata*.
>
> Infatti spesso succede che in seguito ad aggiornamenti di apache, php,
> ecc., tale impostazione venga riportata allo stato iniziale, e se nella
> pagina 'http://qualcosa' c'è qualche errore, non viene lanciata
> l'apposita exception: tu pensi che tutto stia funzionando invece quando
> tra una settimana/mese/anno te ne accorgi devi aprire il pronto soccorso :)
>
> Come si può fare per verificare che, nell'apposito php.ini,
> l'error_prepend_string sia impostata correttamente?
Naturalmente vorrei evitare istruzioni come questa
if
(parse_ini_file('/etc/php/7.0/apache2/php.ini')['error_prepend_string']
!= 'test_666') throw new Exception('valore inaspettato');
anche perchè non è detto che il percorso di php.ini sia proprio
*/etc/php/7.0/apache2/php.ini*
Non esiste proprio una funzione tipo
*apache_get_ini('error_prepend_string')* ?
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2017-11-15 10:15 +0100 |
| Message-ID | <c61o0dhtnlrk2rpqatnanm83hkd7i0fbtr@L.Serni> |
| In reply to | #21755 |
On Wed, 15 Nov 2017 09:43:00 +0100, alex
<1j9448a02@lnx159sneakemail.com.invalid> wrote:
>> Naturalmente affinchè tutto funzioni *correttamente* bisogna aprire il
>> file */php.ini e controllare che ci sia la riga
>> error_prepend_string = "test_666"
>Non esiste proprio una funzione tipo
>*apache_get_ini('error_prepend_string')* ?
Se parli di questa variabile del PHP...
http://php.net/manual/it/errorfunc.configuration.php#ini.error-prepend-string
...la funzione per leggerne il valore c'è:
http://php.net/manual/en/function.ini-get.php
Leonardo
--
Ya se escucha sonar la metralla, ya el clarín toca fuego graneado:
ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-15 21:01 +0100 |
| Message-ID | <oui6dv$1nda$1@gioia.aioe.org> |
| In reply to | #21756 |
Il 15/11/2017 10:15, Leonardo Serni ha scritto:
> On Wed, 15 Nov 2017 09:43:00 +0100, alex
> <1j9448a02@lnx159sneakemail.com.invalid> wrote:
>
>>> Naturalmente affinchè tutto funzioni *correttamente* bisogna aprire il
>>> file */php.ini e controllare che ci sia la riga
>
>>> error_prepend_string = "test_666"
>
>> Non esiste proprio una funzione tipo
>> *apache_get_ini('error_prepend_string')* ?
>
> Se parli di questa variabile del PHP...
>
> http://php.net/manual/it/errorfunc.configuration.php#ini.error-prepend-string
>
> ...la funzione per leggerne il valore c'è:
>
> http://php.net/manual/en/function.ini-get.php
>
> Leonardo
>
Lo script che ho illustrato viene eseguito da console, e normalmente in
cli-mode quel *prefisso* non viene usato.
Per accedere al valore che voglio lo devo lanciare dal browser, ma
siccome è uno script di test deve essere usato da cli (come come da
consuetudine e per agilità d'uso), anche se viene testata una web page.
Quindi da cli è possibile accede alla *versione web* di
error_prepend_string?
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2017-11-15 21:43 +0100 |
| Message-ID | <m39p0dp1n5objs7rt8uqpg1m8m8cg05lk2@L.Serni> |
| In reply to | #21757 |
On Wed, 15 Nov 2017 21:01:05 +0100, alex <1j9448a02@lnx159sneakemail.com.invalid> wrote: >Lo script che ho illustrato viene eseguito da console, e normalmente in >cli-mode quel *prefisso* non viene usato. >Per accedere al valore che voglio lo devo lanciare dal browser, ma >siccome è uno script di test deve essere usato da cli (come come da >consuetudine e per agilità d'uso), anche se viene testata una web page. Uno script per testare una web page, che _usa_ informazioni tipiche della configurazione web, deve accedere "da web", o non è uno "script di test"; è uno script che testa qualcos'altro (come difatti ti sei già accorto). Secondo me, la via più semplice è usare curl (direttamente o via wrapper, come ad es. Codeception). YMWV. >Quindi da cli è possibile accede alla *versione web* di >error_prepend_string? Non in maniera pulita e portabile, che sappia io. Fra i vari modi sporchi proverei fra i primi "php -c" per caricare il file di php.ini per il web. Ma, per quella strada, il framework di test diventa un accrocco tenuto su da spago e chewing-gum (been there, done that), e devi cominciare a farti qualche test sul framework di test. Leonardo -- Ya se escucha sonar la metralla, ya el clarín toca fuego graneado: ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-16 16:54 +0100 |
| Message-ID | <oukcbs$l64$1@gioia.aioe.org> |
| In reply to | #21758 |
Il 15/11/2017 21:43, Leonardo Serni ha scritto: > Leonardo > grazie per le opinioni :)
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-16 19:57 +0100 |
| Message-ID | <oukn6m$18mi$1@gioia.aioe.org> |
| In reply to | #21759 |
Il 16/11/2017 16:54, alex ha scritto: > Il 15/11/2017 21:43, Leonardo Serni ha scritto: >> Leonardo >> > > grazie per le opinioni :) Però se lo script va eseguito nel browser come faccio a lanciarlo automaticamente? Tale script naturalmente fa parte di una global-test-suite (global-test-suite.sh) che lancia a sua volta altri test-script tra cui quello di cui stiamo parlando.
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2017-11-17 01:08 +0100 |
| Message-ID | <91as0ddqc75ga5qfe5h86n151fuis2k4i6@L.Serni> |
| In reply to | #21760 |
On Thu, 16 Nov 2017 19:57:17 +0100, alex <1j9448a02@lnx159sneakemail.com.invalid> wrote: >Però se lo script va eseguito nel browser come faccio a lanciarlo >automaticamente? Lo script va eseguito nel server, e per farlo da linea di comando <cite> Secondo me, la via più semplice è usare curl (direttamente o via wrapper, come ad es. Codeception). YMWV. </cite> Leonardo -- Ya se escucha sonar la metralla, ya el clarín toca fuego graneado: ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-17 10:59 +0100 |
| Message-ID | <oumbu5$1kdc$1@gioia.aioe.org> |
| In reply to | #21761 |
Il 17/11/2017 01:08, Leonardo Serni ha scritto:
> On Thu, 16 Nov 2017 19:57:17 +0100, alex
> <1j9448a02@lnx159sneakemail.com.invalid> wrote:
>
>> Però se lo script va eseguito nel browser come faccio a lanciarlo
>> automaticamente?
>
> Lo script va eseguito nel server, e per farlo da linea di comando
>
> <cite>
> Secondo me, la via più semplice è usare curl (direttamente o via wrapper,
> come ad es. Codeception). YMWV.
> </cite>
$ cat /tmp/test.php
<?php
$error_prepend_string = ini_get('error_prepend_string');
if (strlen($error_prepend_string) <= 0) throw new \Exception(
"Error prepend string non valido."
);
$url = $_GET['resource_to_test'];
$contents = file_get_contents($url);
if (false === $contents) exit(1);
if (false !== strpos($contents, $error_prepend_string)) throw new
\Exception(
"La pagina '$url' contiene l'error-prepend-string
'$error_prepend_string'."
);
Proviamo
$ curl http://tmp.local/test.php?resource_to_test=http://example.com &&
echo ok
ok
Può andar bene?
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-17 14:44 +0100 |
| Message-ID | <oump3b$dpn$1@gioia.aioe.org> |
| In reply to | #21762 |
Il 17/11/2017 10:59, alex ha scritto: > > Può andar bene? Pensavo potesse andar bene invece $ curl http://tmp.local/test.php?resource_to_test=http://ivalid && echo "TUTTO OK" test_643597<br /> <font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'> <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /tmp/test.php on line ... TUTTO OK Dice che è tutto ok, invece... :(
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2017-11-18 00:00 +0100 |
| Message-ID | <dbpu0dpdaovnvadc20qh35hbkf932gloha@L.Serni> |
| In reply to | #21762 |
On Fri, 17 Nov 2017 10:59:33 +0100, alex
<1j9448a02@lnx159sneakemail.com.invalid> wrote:
><?php
>
>$error_prepend_string = ini_get('error_prepend_string');
>
>if (strlen($error_prepend_string) <= 0) throw new \Exception(
> "Error prepend string non valido."
>);
Ti capita spesso che strlen ritorni valori negativi?
>$url = $_GET['resource_to_test'];
>$contents = file_get_contents($url);
Allora, tu quello che vuoi controllare è che la risorsa non dia errore.
Gli errori possono essere di tre tipi:
- viene ritornato un codice diverso da 200.
- viene ritornato un output che contiene ERROR_STRING.
- viene ritornato un output diverso da quello atteso.
Tutto questo lo fai già tranquillamente appunto con Codeception. Però se ti
senti di reinventare la ruota, si può.
Per controllare il prepend_string, io userei una paginetta fuori mano messa
lì a quello scopo. E anzi, magari le farei stampare il phpinfo() in modo da
controllare tutte le stringhe che mi venissero in mente.
Una volta che quella pagina ha dato l'OK, posso usare l'hack del prepend in
modo da accorgermi se si è verificato un errore.
#!/bin/bash
curl --silent --dump-header - "$1" > tmp.txt 2>&1
if (! grep "^HTTP/1.1 200 OK$" tmp.txt > /dev/null ); then
echo "La risorsa $1 è in errore."
exit 2
fi
if (grep $ERROR_PREPEND tmp.txt > /dev/null ); then
echo "La risorsa $1 ha sollevato una eccezione"
exit 3
fi
echo "OK"
Lo script sopra lo puoi lanciare con ./testresource.sh "http://example.com"
Leonardo
--
Ya se escucha sonar la metralla, ya el clarín toca fuego graneado:
ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-18 10:27 +0100 |
| Message-ID | <ououdo$1j5b$1@gioia.aioe.org> |
| In reply to | #21764 |
Il 18/11/2017 00:00, Leonardo Serni ha scritto:
> On Fri, 17 Nov 2017 10:59:33 +0100, alex
> <1j9448a02@lnx159sneakemail.com.invalid> wrote:
>
>> <?php
>>
>> $error_prepend_string = ini_get('error_prepend_string');
>>
>> if (strlen($error_prepend_string) <= 0) throw new \Exception(
>> "Error prepend string non valido."
>> );
>
> Ti capita spesso che strlen ritorni valori negativi?
>
Hai ragione :)
>> $url = $_GET['resource_to_test'];
>> $contents = file_get_contents($url);
>
> Allora, tu quello che vuoi controllare è che la risorsa non dia errore.
>
> Gli errori possono essere di tre tipi:
>
> - viene ritornato un codice diverso da 200.
> - viene ritornato un output che contiene ERROR_STRING.
> - viene ritornato un output diverso da quello atteso.
>
> Tutto questo lo fai già tranquillamente appunto con Codeception. Però se ti
> senti di reinventare la ruota, si può.
>
> Per controllare il prepend_string, io userei una paginetta fuori mano messa
> lì a quello scopo. E anzi, magari le farei stampare il phpinfo() in modo da
> controllare tutte le stringhe che mi venissero in mente.
>
L'esempio che ti ho fatto vedere (/tmp/test.php) può andar bene (non mi
hai ancora risposto)?
> Una volta che quella pagina ha dato l'OK, posso usare l'hack del prepend in
> modo da accorgermi se si è verificato un errore.
>
Cioè?
> #!/bin/bash
>
> curl --silent --dump-header - "$1" > tmp.txt 2>&1
>
1. Perchè non fare ouput=$(curl --silent --dump-header - "$1") ?
2. Perchè reindizzare 2>&1 ?
> if (! grep "^HTTP/1.1 200 OK$" tmp.txt > /dev/null ); then
> echo "La risorsa $1 è in errore."
> exit 2
> fi
>
> if (grep $ERROR_PREPEND tmp.txt > /dev/null ); then
> echo "La risorsa $1 ha sollevato una eccezione"
> exit 3
> fi
$ERROR_PREPEND da dove lo ricavo?
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2017-11-18 14:07 +0100 |
| Message-ID | <8hb01ddrlr50gr9efp7n1q7rf6cvh49jbn@L.Serni> |
| In reply to | #21765 |
On Sat, 18 Nov 2017 10:27:21 +0100, alex <1j9448a02@lnx159sneakemail.com.invalid> wrote: >> Per controllare il prepend_string, io userei una paginetta fuori mano messa >> lì a quello scopo. E anzi, magari le farei stampare il phpinfo() in modo da >> controllare tutte le stringhe che mi venissero in mente. >L'esempio che ti ho fatto vedere (/tmp/test.php) può andar bene (non mi >hai ancora risposto)? E neanche lo farò (perché? Anche a questo non risponderò. Oi. Dove l'ho mai detto, di essere una persona simpatica e disponibile? Anzi: ho spesso detto orgogliosamente il contrario). >> Una volta che quella pagina ha dato l'OK, posso usare l'hack del prepend in >> modo da accorgermi se si è verificato un errore. >Cioè? Quello che fai di solito. Ma dividi le operazioni... prima verifichi che ci sia il prepend_string nelle impostazioni. Poi chiami tutte le risorse, e ti accerti che la stringa NON sia presente. Sapendo che in caso di errore c'è, il fatto che non ci sia esclude [quel tipo di] errori. Fare ogni volta i due test insieme complica le cose, e potrebbe darsi che - per errore - il test di prepend_string sia fatto sulla macchina dove girano i test (quella che chiama curl o include), mentre la macchina sotto esame è configurata diversamente. Non solo: perché ti funzioni una roba come file_get_contents($url); sei costretto ad attivare il remote file include nella macchina bersaglio - mentre è raccomandato di tenerlo disattivato per sicurezza; il che ti vuole dire anche, il giorno che installi ogni cosa su un provider dove l'.INI non è (del tutto) sotto il tuo controllo, che tutto il framework di test dovrai riscrivertelo. La mia ponderata opinione è che sia un mettere il culo nelle pedate :-) >> #!/bin/bash >> curl --silent --dump-header - "$1" > tmp.txt 2>&1 >1. Perchè non fare ouput=$(curl --silent --dump-header - "$1") ? >2. Perchè reindizzare 2>&1 ? 2. Perché voglio sapere tutto, anche gli errori di curl. Questo è un test: deve andare TUTTO BENE, o sennò voglio sapere perché. 1. Perché poi mi tocca fare echo "$OUTPUT" | grep e magari tot altre cose, che con stdin lavorano male. E' un gusto, però. Se ti trovi meglio con le variabili, usale senz'altro. >> if (! grep "^HTTP/1.1 200 OK$" tmp.txt > /dev/null ); then >> echo "La risorsa $1 è in errore." >> exit 2 >> fi >> >> if (grep $ERROR_PREPEND tmp.txt > /dev/null ); then >> echo "La risorsa $1 ha sollevato una eccezione" >> exit 3 >> fi >$ERROR_PREPEND da dove lo ricavo? E' la stringa che usi come prepend-string; ci metti quel che ti pare - basta sia la stessa che c'è in php.ini. Leonardo -- Ya se escucha sonar la metralla, ya el clarín toca fuego graneado: ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-18 19:46 +0100 |
| Message-ID | <oupv6e$168e$1@gioia.aioe.org> |
| In reply to | #21768 |
Il 18/11/2017 14:07, Leonardo Serni ha scritto: >>> Una volta che quella pagina ha dato l'OK, posso usare l'hack del prepend in >>> modo da accorgermi se si è verificato un errore. > >> Cioè? > > Quello che fai di solito. Ma dividi le operazioni... prima verifichi che ci > sia il prepend_string nelle impostazioni. Poi chiami tutte le risorse, e ti È quello che ho fatto > accerti che la stringa NON sia presente. Sapendo che in caso di errore c'è, > il fatto che non ci sia esclude [quel tipo di] errori. > È quello che ho fatto. E che non ho capito bene cosa volevi dire, mi sembrava chissà cosa :) Hack, crack, fish and crock :D >>> #!/bin/bash > >>> curl --silent --dump-header - "$1" > tmp.txt 2>&1 > >> 1. Perchè non fare ouput=$(curl --silent --dump-header - "$1") ? >> 2. Perchè reindizzare 2>&1 ? > > 2. Perché voglio sapere tutto, anche gli errori di curl. Questo è un > test: deve andare TUTTO BENE, o sennò voglio sapere perché. > $ curl 192.168.1.31 > /tmp/abccccccc 2>&1 Non sembra avere effetto, a meno che $ curl 192.168.1.31 2>&1 curl: (7) Failed to connect to 192.168.1.31 port 80: Nessun instradamento per l'host Allora si!!! Ma perche indirizzare strerr su strout? Forse non ho capito bene quali sarebbero gli errori di curl, ma non ti arrabbiare di nuovo :) >>> if (! grep "^HTTP/1.1 200 OK$" tmp.txt > /dev/null ); then >>> echo "La risorsa $1 è in errore." >>> exit 2 >>> fi >>> >>> if (grep $ERROR_PREPEND tmp.txt > /dev/null ); then >>> echo "La risorsa $1 ha sollevato una eccezione" >>> exit 3 >>> fi > >> $ERROR_PREPEND da dove lo ricavo? > > E' la stringa che usi come prepend-string; ci metti quel che ti pare > - basta sia la stessa che c'è in php.ini. Certamente... troppo lavoro mi sta stancando :)
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2017-11-18 20:45 +0100 |
| Message-ID | <89311d1qbtn39mf8lkpjvjs76nam1vkbb5@L.Serni> |
| In reply to | #21770 |
On Sat, 18 Nov 2017 19:46:40 +0100, alex <1j9448a02@lnx159sneakemail.com.invalid> wrote: >Il 18/11/2017 14:07, Leonardo Serni ha scritto: >>> Cioè? >> Quello che fai di solito. Ma dividi le operazioni... prima verifichi che ci >> sia il prepend_string nelle impostazioni. Poi chiami tutte le risorse, e ti >È quello che ho fatto Mi sono espresso male. Intendo: UN test che verifica che ci sia il prepend_string, andando a chiamare una risorsa che legge solo quel valore da php.ini e nient'altro e ritorna "OK" oppure "KO". Poi tutti gli altri test alle altre risorse dove error_prepend non lo usi più. >Ma perche indirizzare strerr su strout? Così leggi solo stdout. Ma se vuoi, ridirigi su due file diversi. Sono gusti. >Forse non ho capito bene quali sarebbero gli errori di curl, ma non ti >arrabbiare di nuovo :) Tranquillo. Arrabbiato, seddiovuole, m'hanno visto in pochi. Leonardo -- Ya se escucha sonar la metralla, ya el clarín toca fuego graneado: ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-20 12:04 +0100 |
| Message-ID | <ouucsa$1hug$1@gioia.aioe.org> |
| In reply to | #21772 |
Il 18/11/2017 20:45, Leonardo Serni ha scritto: > On Sat, 18 Nov 2017 19:46:40 +0100, alex > <1j9448a02@lnx159sneakemail.com.invalid> wrote: > >> Il 18/11/2017 14:07, Leonardo Serni ha scritto: >>>> Cioè? > >>> Quello che fai di solito. Ma dividi le operazioni... prima verifichi che ci >>> sia il prepend_string nelle impostazioni. Poi chiami tutte le risorse, e ti > >> È quello che ho fatto > > Mi sono espresso male. > > Intendo: UN test che verifica che ci sia il prepend_string, andando a chiamare > una risorsa che legge solo quel valore da php.ini e nient'altro e ritorna "OK" > oppure "KO". > > Poi tutti gli altri test alle altre risorse dove error_prepend non lo usi più. > Preferisco uno script centrale standard per testare qualunque risorsa http://test/test.php?risorsa_da_tesare=http://a/b/c Naturalmente all'inizio della pagina (test.php) ci metto il controllo che tu hai citato. Poi per comodità apro l'url sopra citato con curl >> Ma perche indirizzare strerr su strout? > > Così leggi solo stdout. Ma se vuoi, ridirigi su due file diversi. Sono gusti. > Perchè fare pasticci? Gli errori su stderr, il resto su stdout.
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2017-11-20 19:07 +0100 |
| Message-ID | <md661d9jns1uskp081k2t9a3n1om17i6ed@L.Serni> |
| In reply to | #21773 |
On Mon, 20 Nov 2017 12:04:43 +0100, alex <1j9448a02@lnx159sneakemail.com.invalid> wrote: >>>> Quello che fai di solito. Ma dividi le operazioni... prima verifichi che ci >>>> sia il prepend_string nelle impostazioni. Poi chiami tutte le risorse, e ti >> Intendo: UN test che verifica che ci sia il prepend_string, andando a chiamare >> una risorsa che legge solo quel valore da php.ini e nient'altro e ritorna "OK" >> oppure "KO". >> Poi tutti gli altri test alle altre risorse dove error_prepend non lo usi più. >Preferisco uno script centrale standard per testare qualunque risorsa > >http://test/test.php?risorsa_da_tesare=http://a/b/c Uhm. Ma perché specifichi "http://a", però? Leonardo -- Ya se escucha sonar la metralla, ya el clarín toca fuego graneado: ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-20 21:43 +0100 |
| Message-ID | <ouvesp$1i3k$1@gioia.aioe.org> |
| In reply to | #21778 |
Il 20/11/2017 19:07, Leonardo Serni ha scritto: >> Preferisco uno script centrale standard per testare qualunque risorsa >> >> http://test/test.php?risorsa_da_tesare=http://a/b/c > Uhm. Ma perché specifichi "http://a", però? ???? Chiedo scusa ma non ho capito la domanda...
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2017-11-20 23:34 +0100 |
| Message-ID | <3ql61dle2hsmiglnfobmdtfkfcqa8pjqpb@L.Serni> |
| In reply to | #21780 |
On Mon, 20 Nov 2017 21:43:15 +0100, alex <1j9448a02@lnx159sneakemail.com.invalid> wrote: >Il 20/11/2017 19:07, Leonardo Serni ha scritto: >>> Preferisco uno script centrale standard per testare qualunque risorsa >>> http://test/test.php?risorsa_da_tesare=http://a/b/c >> Uhm. Ma perché specifichi "http://a", però? >???? >Chiedo scusa ma non ho capito la domanda... Perché ripeti http://? Non è sufficiente il path della risorsa? http://test/test.php/risorsa_da_testare=/path/file.php Piuttosto, mi pare che così tu possa testare soltanto risorse di tipo idempotente, che non hanno bisogno di parametri. Se per esempio serve testare un modulo che riceve i campi di un form di contatto, come gli passi i valori dei campi? Leonardo -- Ya se escucha sonar la metralla, ya el clarín toca fuego graneado: ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2017-11-21 09:49 +0100 |
| Message-ID | <ov0pbg$1qtp$1@gioia.aioe.org> |
| In reply to | #21781 |
Il 20/11/2017 23:34, Leonardo Serni ha scritto: > Perché ripetihttp://? Non è sufficiente il path della risorsa? > > http://test/test.php/risorsa_da_testare=/path/file.php > Perchè il protocollo potrebbe anche essere un altro (https, ecc.), anche se attualmente file_get_contents() supporta solo http (se non sbaglio) in futuro chissà... > Piuttosto, mi pare che così tu possa testare soltanto risorse di tipo > idempotente, che non hanno bisogno di parametri. Se per esempio serve > testare un modulo che riceve i campi di un form di contatto, come gli > passi i valori dei campi? In tal caso come potrei fare? Richiamare la pagina col metodo POST (rinunciando naturalmente alla comodità di file_get_contents() che usa GET) per inviare tutti i dati neccessari?
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | it.comp.www.php
csiph-web