abonnement Unibet Coolblue Bitvavo
  woensdag 19 juni 2013 @ 00:27:05 #1
178193 Juicyhil
Bekende FOK!ker
pi_127971774


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL

Succes heren met het volgende deeltje!
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_127974412
quote:
0s.gif Op woensdag 19 juni 2013 00:26 schreef Juicyhil het volgende:

[..]

Auto-complete zoals IntelliSense in Visual Studio is inderdaad heel erg fijn. Maar zo goed als die ben ik hem voor PHP nergens tegengekomen. Zeker niet in combinatie met frameworks (zeker niet de wat onbekendere).
Ik heb nooit met Visual Studio gewerkt, maar de auto-complete van PhpStorm vind ik zeer goed.
pi_127976664
ik vind de autocomplete van geany erg relaxed. Komt misschien doordat ik die als enige gewend ben maar ik gebruik het best veel.
Vult ook class- variable- en functienamen aan die je in andere openstaande bestanden in gebruik hebt. Das wel handig, behalve dat je libraries e.d. natuurlijk (bijna) nooit open hebt staan.
pi_128014062
Ik heb een groot nadeel ontdekt van InnoDB, dat als je een veld toevoegd op een tabel met 5 miljoen records, dat deze er dan zeker 3 uur over doet (en nog steeds bezig is...)....
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_128016117
quote:
0s.gif Op woensdag 19 juni 2013 23:24 schreef Chandler het volgende:
Ik heb een groot nadeel ontdekt van InnoDB, dat als je een veld toevoegd op een tabel met 5 miljoen records, dat deze er dan zeker 3 uur over doet (en nog steeds bezig is...)....
_O-

Heb je wel gepartitioneerd?
  † In Memoriam † woensdag 19 juni 2013 @ 23:56:08 #6
159335 Boze_Appel
Vrij Fruit
pi_128016287
Dan heb je inderdaad ergens iets gruwelijk fout gedaan of je draait die DB op een pentium 1 ofzo.
Carpe Libertatem
pi_128017264
Dan doen ik en mensen uit 125.000 resultaten op google dus blijkbaar iets fout :7

https://www.google.nl/sea(...)ceid=chrome&ie=UTF-8
-edit 2-
http://stackoverflow.com/(...)lter-table-of-innodb
Is niet precies mijn verandering maar geeft wel aan dat het tijd kost... nogal wat... maar met mogelijke (snellere) oplossingen..

-edit 1-
Oh en er is natuurlijk een workaround.

Kopieer table structuur, maak nieuw 'tijdelijk' tabel aan, pas structuur aan, exporteer data oude tabel, importeer data nieuwe tabel... scheelt aanzienlijk in de tijd...

[ Bericht 17% gewijzigd door Chandler op 20-06-2013 00:36:46 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_128035146
Scheelt dat echt aanzienlijk? Ik dacht namelijk dat InnoDB onder water hetzelfde deed en dat daarmee ook de traagheid te verklaren was.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_128057697
Aanzienlijk weet ik eigenlijk niet, heb de querys vannacht gedaan (lokaal) en ben gaan slapen... en het fijne van phpmyadmin is dat deze geen TIJD MEE GEEFT (duur van query, begin tijd, eind tijd en dat soort informatie...)

De export was zo gepiept, minuutje of 10. Het invoeren van de data heeft zeker een halfuur geduurd maar zou ook 2 uur kunnen zijn :@
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_128096439
Weer wat anders met curl,

Ik krijg vaak een CURLE_OK terug van curl_errno, maar soms als ik met curl_getinfo de http code uitlees is deze geen 200 maar 0; dus kan ik er op dit moment niets mee. Als ik kijk wat curl_error uitspuwt zie ik veelal van dit soort berichten (zonder tijd natuurlijk)

2013-06-21 20:58:23 - Could not resolve host: (nil); Host not found
2013-06-21 20:58:41 - Connection timed out after 2013 milliseconds
2013-06-21 20:59:04 - Resolving timed out after 2012 milliseconds
2013-06-21 20:59:33 - Operation timed out after 2013 milliseconds with 0 out of -1 bytes received

Op zich niets mis mee hoor, met deze gegevens kan ik ook wat, alleen vraag ik mij af of er ergens meer over dit soort foutmeldingen te vinden is, ik zou graag direct mijn script willen aanpassen op 'alle' mogelijkheden die kunnen voorkomen.

Iemand een idee?

[ Bericht 0% gewijzigd door Chandler op 21-06-2013 21:11:32 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 21 juni 2013 @ 22:07:39 #11
187069 slacker_nl
Sicko pur sang
pi_128099456
quote:
5s.gif Op vrijdag 21 juni 2013 21:06 schreef Chandler het volgende:
Weer wat anders met curl,

Ik krijg vaak een CURLE_OK terug van curl_errno, maar soms als ik met curl_getinfo de http code uitlees is deze geen 200 maar 0; dus kan ik er op dit moment niets mee. Als ik kijk wat curl_error uitspuwt zie ik veelal van dit soort berichten (zonder tijd natuurlijk)

2013-06-21 20:58:23 - Could not resolve host: (nil); Host not found
2013-06-21 20:58:41 - Connection timed out after 2013 milliseconds
2013-06-21 20:59:04 - Resolving timed out after 2012 milliseconds
2013-06-21 20:59:33 - Operation timed out after 2013 milliseconds with 0 out of -1 bytes received

Op zich niets mis mee hoor, met deze gegevens kan ik ook wat, alleen vraag ik mij af of er ergens meer over dit soort foutmeldingen te vinden is, ik zou graag direct mijn script willen aanpassen op 'alle' mogelijkheden die kunnen voorkomen.

Iemand een idee?
Poept CURL geen meuk uit als je timeout verlopen is..? Maar je MOET kijken naar de HTTP code, anders weet je neit hoe/wat/waar. Dus als deze 0 is weet je dat er iets fout is.

Je kan eventueel ook eerst dit proberen op de hostname: http://php.net/manual/en/function.gethostbyname.php
http://www.php.net/manual/en/function.checkdnsrr.php (type A, AAAA, CNAME moeten bestaan, iig 1 vd 3).

[ Bericht 8% gewijzigd door slacker_nl op 21-06-2013 22:14:18 ]
In theory there is no difference between theory and practice. In practice there is.
pi_128100243
quote:
0s.gif Op vrijdag 21 juni 2013 22:07 schreef slacker_nl het volgende:
Poept CURL geen meuk uit als je timeout verlopen is..?
[/qoute]
Nee, helaas niet, anders dan de foutmelding in curl_error maar de status is OK! ;)

[quote]Maar je MOET kijken naar de HTTP code, anders weet je neit hoe/wat/waar. Dus als deze 0 is weet je dat er iets fout is.
Daardoor moet ik er inderdaad dus naar kijken, want een 200 is gewoon OK! zeker als de lengte van de content langer is dan 0.

quote:
Je kan eventueel ook eerst dit proberen op de hostname: http://php.net/manual/en/function.gethostbyname.php
http://www.php.net/manual/en/function.checkdnsrr.php (type A, AAAA, CNAME moeten bestaan, iig 1 vd 3).
Ik ben hier bekend mee, is op zich niet nodig, de foutmeldingen die CURL geeft geven dit ook al aan, alleen vraag ik mij af of er niet een lijst beschikbaar is waarin ik kan zien welke mogelijke fouten er allemaal tevoorschijn kunnen komen?

Voor alle gegeven fouten zet ik in de database dat de url fout en dus niet meer bezocht hoeft te worden (maar bij een timeout waarbij wel data ontvangen is, wil ik dat het liefst voorkomen! want die mag van mij wel meerdere kansen krijgen, eventueel op andere tijdstippen, (misschien is de site ff druk!?))
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_128105921
php 5.5 is trouwens al weer uit:

http://php.net/ChangeLog-5.php#5.5.0

* Added Zend Opcache extension and enable building it by default.

schijnt ook iets sneller te zijn dan apc, alleen er zit geen user cache bij :s)
..///
pi_128137137
quote:
0s.gif Op vrijdag 21 juni 2013 22:24 schreef Chandler het volgende:

[..]

Daardoor moet ik er inderdaad dus naar kijken, want een 200 is gewoon OK! zeker als de lengte van de content langer is dan 0.
Alle 2xx return codes geven succes aan (in een of andere vorm).
pi_128140399
quote:
0s.gif Op zondag 23 juni 2013 00:39 schreef Light het volgende:
Alle 2xx return codes geven succes aan (in een of andere vorm).
Klopt alleen de 200 met content ;) de rest is voor mij niet interessant als uitleesbaar ;)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_128177142
nvm.

[ Bericht 99% gewijzigd door Chandler op 24-06-2013 00:25:29 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_128232258
Huh... Doet PHP strings met variables erin cachen ofzo?

heb meerdere strings in de vorm van "{$rootdir}/path/to/file.php", nu heb ik $rootdir veranderd maar een hoop bestanden zoeken desondanks nog steeds in de oude rootdir...
  Moderator / Redactie Sport / Devops dinsdag 25 juni 2013 @ 11:54:47 #18
176766 zoem
zoemt
pi_128232425
Nar mijn weten niet. Heb je wat code om te laten zien?
pi_128232520
of anders dirname(__FILE__) ?
1
2
3
4
5
6
<?php
$thisdir 
dirname(__FILE__);
$rootdir substr($thisdir,0,strrpos($thisdir,'/'));

require_once(
"{$rootdir}/config.php");
?>


[ Bericht 0% gewijzigd door KomtTijd... op 25-06-2013 12:08:58 ]
pi_128232821
quote:
14s.gif Op dinsdag 25 juni 2013 11:57 schreef KomtTijd... het volgende:
of anders dirname(__FILE__) ?
[ code verwijderd ]

je hebt door dat er geen $ staat voor thisdir?
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_128233029
zo beter?

tevens in libraries:
1
2
3
4
5
<?php
if (!defined('SMARTY_DIR')) {
    
define('SMARTY_DIR'dirname(__FILE__) . DS);
}
?>


[ Bericht 98% gewijzigd door KomtTijd... op 25-06-2013 12:20:20 ]
pi_128234353
Raar zeg. Ik krijg het dus echt niet voor elkaar de directory te renamen. Een kopie maken werkt wel.
  Moderator / Redactie Sport / Devops dinsdag 25 juni 2013 @ 13:21:46 #23
176766 zoem
zoemt
pi_128235570
Ik snap wat je bedoelt, maar met de gegeven code kan ik er niet veel uit opmaken. Heb je al var_dump gedaan op de betreffende locaties? Kan het zijn dat include_path gebruikt wordt ipv de verwachte dir?
pi_128237403
ik denk dat ik beter de situatie (wat beter) kan omschrijven:

1) ik heb een map met scripts erin op een linux (ubuntu 12.04) server waarin ik ontwikkel (zeg /var/www/
2) ik rename de map via een SFTP-verbinding zodat dit de live versie wordt (is het idee)
3) alle calls naar dirname(__FILE__) blijven de oude mapnaam teruggeven met als gevolg hele ritsen errors van includes die niet meer gevonden kunnen worden.
4) ik rename de map weer naar zijn oorspronkelijke naam, alles gaat weer goed
5) ik maak (wederom via SFTP) een kopie van de map en rename die naar de naam die ik wil hebben, vervolgens verwijder ik de oorspronkelijke map
6) alles gaat goed, de applicatie draait succesvol op zijn nieuwe locatie.

ik heb een clearstatcache() geprobeerd maar dat hielp niet, misschien heeft het wel met het filesystem te maken?
pi_128244803
quote:
0s.gif Op woensdag 19 juni 2013 23:24 schreef Chandler het volgende:
Ik heb een groot nadeel ontdekt van InnoDB, dat als je een veld toevoegd op een tabel met 5 miljoen records, dat deze er dan zeker 3 uur over doet (en nog steeds bezig is...)....
Even een index toevoegen over een kleine 3M records kost ook langer dan een kwartiertje...
pi_128245815
quote:
14s.gif Op dinsdag 25 juni 2013 17:28 schreef KomtTijd... het volgende:

[..]

Even een index toevoegen over een kleine 3M records kost ook langer dan een kwartiertje...
Tja, maar volgens mij is een index apart, maar een veld toevoegen of wijzigen duurt helaas VEEL LANGER! :( maar er is een oplossing, export, aanpassen import (zonder tables aan te maken)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 25 juni 2013 @ 18:25:51 #27
187069 slacker_nl
Sicko pur sang
pi_128246839
quote:
14s.gif Op dinsdag 25 juni 2013 14:06 schreef KomtTijd... het volgende:
ik denk dat ik beter de situatie (wat beter) kan omschrijven:

1) ik heb een map met scripts erin op een linux (ubuntu 12.04) server waarin ik ontwikkel (zeg /var/www/
2) ik rename de map via een SFTP-verbinding zodat dit de live versie wordt (is het idee)
3) alle calls naar dirname(__FILE__) blijven de oude mapnaam teruggeven met als gevolg hele ritsen errors van includes die niet meer gevonden kunnen worden.
4) ik rename de map weer naar zijn oorspronkelijke naam, alles gaat weer goed
5) ik maak (wederom via SFTP) een kopie van de map en rename die naar de naam die ik wil hebben, vervolgens verwijder ik de oorspronkelijke map
6) alles gaat goed, de applicatie draait succesvol op zijn nieuwe locatie.

ik heb een clearstatcache() geprobeerd maar dat hielp niet, misschien heeft het wel met het filesystem te maken?
Heel simpel, maar zo effectief:

Symlink: /var/www/ditisdelivecode

Je hebt je dir:

/var/www/versie1.2
/var/www/versie1.3

Je doet:

rm /var/www/ditisdelivecode
ln -s /var/www/versie1.3 /var/www/ditisdelivecode

Tada, fixed.

Terug gaan?
rm /var/www/ditisdelivecode
ln -s /var/www/versie1.2 /var/www/ditisdelivecode


En eigenlijk moet je gewoon het oude weggooien, je hebt toch alles in version control staan.
In theory there is no difference between theory and practice. In practice there is.
pi_128247476
Versiebeheer, ja dat moeten we nog altijd eens implementeren. 't is een offline omgeving, dat maakt het niet makkelijker.
Maar er worden wel dagelijks (off-site) backups gemaakt dus oude zooi flikker ik inderdaad gewoon weg.

Een symlink maken is ook wel een goed idee. Niet aan gedacht :)
  FOK!-Schrikkelbaas woensdag 26 juni 2013 @ 11:18:19 #29
1972 Swetsenegger
Egocentrische Narcist
pi_128272611
Mogguh,

Ik heb een klein SQL vraagje. Waarschijnlijk heel simpel op te lossen maar ik kan het niet verzinnen.

stel ik heb de volgende tabel

1
2
3
4
5
idA  | idB
-----+----
3    | 15
8    | 11
136  | 3

Nu wil ik alle rijen selecteren waar idA danwel B een 3 bevat, maar dan wil ik alleen de value terug die géén 3 is, in dit voorbeeld krijg ik dus 15 en 136 terug.

Hoe doe ik dat?
  woensdag 26 juni 2013 @ 11:22:48 #30
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128272767
1SELECT IF(idA=3, idB, idA) FROM tabel WHERE idA=3 OR idB=3
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  FOK!-Schrikkelbaas woensdag 26 juni 2013 @ 11:26:28 #31
1972 Swetsenegger
Egocentrische Narcist
pi_128272887
quote:
0s.gif Op woensdag 26 juni 2013 11:22 schreef mstx het volgende:

[ code verwijderd ]

_O_ zo simpel.
  woensdag 26 juni 2013 @ 11:30:26 #32
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128273040
Ik heb zelf ook een vraagje, deze (simpele) query is soms traag:

1
2
3
4
5
6
7
SELECT 
 COUNT(*)
FROM
 tabelA 
  LEFT JOIN tabelB ON tabelA.id=tabelB.id_van_tabelA 
WHERE 
 tabelA.kolomX=1 AND tabelB.kolomY=1

De explain zegt dit:
1
2
3
id     select_type     table     type     possible_keys     key     key_len     ref     rows     Extra 
1     SIMPLE     tabelB     ref     PRIMARY,kolomY     kolomY     1     const     123980     Using where
1     SIMPLE     tabelA     ref     id_van_tabelA     id_van_tabelA     5     database.tabelB.id,const     7     Using index
Kan dat sneller?
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  Moderator / Redactie Sport / Devops woensdag 26 juni 2013 @ 11:59:49 #33
176766 zoem
zoemt
pi_128274123
Ja, een aparte counter bijhouden ipv COUNT(*) uitvoeren :P
pi_128276222
quote:
0s.gif Op woensdag 26 juni 2013 11:59 schreef zoem het volgende:
Ja, een aparte counter bijhouden ipv COUNT(*) uitvoeren :P
dit performance technisch gezien de beste oplossing t.o.v. count queries. Je moet wel in de applicatie goed testen dat de tel kolom goed bij blijft, anders geef je valse waardes weer.
  woensdag 26 juni 2013 @ 13:11:35 #35
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128276662
Zou kunnen, het gaat om het tellen van bijvoorbeeld het aantal berichten in een forum topic, waarvan het topic niet verwijderd is en het bericht ook aan een voorwaarde moet voldoen. Dan zou ik inderdaad het aantal berichten per topic kunnen bijhouden, maar als je dan bijvoorbeeld het aantal berichten per user of het aantal berichten in een bepaald subforum wil tellen moet je alsnog een count + join doen, of dat ook allemaal apart weer bijhouden en bij het plaatsen/verwijderen van een bericht al die tellers weer updaten, lijkt me een beetje omslachtig. :P
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_128276836
Is die query zo'n performance hit dan? Volgens mij moet die vrij snel kunnen met de juiste indexes, toch?
  woensdag 26 juni 2013 @ 13:22:33 #37
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128277079
quote:
14s.gif Op woensdag 26 juni 2013 13:16 schreef KomtTijd... het volgende:
Is die query zo'n performance hit dan? Volgens mij moet die vrij snel kunnen met de juiste indexes, toch?
Hij komt wel redelijk vaak voor in m'n slow query log. :')

1
2
3
# Query_time: 4.404715  Lock_time: 0.000632 Rows_sent: 1  Rows_examined: 401908
SET timestamp=1372244412;
SELECT COUNT(*) AS num_comments FROM `comments` LEFT JOIN `topics` ON `topics`.`id`=`comments`.`topic_id`  WHERE `comments`.`type`=1 AND `topics`.`isactive`='Y';
Op comments.type en topics.isactive zit een index.

Het zal wel fout gaan bij "Rows_examined: 401908" maar geen idee hoe ik dat precies kan verbeteren.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_128278823
heb je ook een index op comments.topic_id?
  woensdag 26 juni 2013 @ 14:39:48 #39
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128280472
Yes.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_128290560
Laat eens een EXPLAIN zien.

-edit: laat maar, die staat er boven :')

Is het datatype van isActive een bool? Misschien kun je nog een USE INDEX toevoegen, omdat hij bij de eerste SELECT kiest voor kolomY en niet voor PRIMARY?

[ Bericht 45% gewijzigd door papernote op 26-06-2013 19:10:56 ]
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_128293936
Ik loop tegen iets in CURL aan, voor vele URLS krijg ik een goede status terug van CURL maar sommige een foutmelding, deze foutmelding is vaak Could not resolve host: (nil); Host not found terwijl als ik met de browser naar deze url ga, bestaat deze wel!? en laad erg snel.

Mijn scriptje draait 25 URLS tegelijk met een timeout van 10 seconden.. Dus nu vraag ik mij af?! waar ligt dit aan? mijn opts zijn als volgt;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$setopt_array 
= array(CURLOPT_TIMEOUT              => $cronjobSettings['curl_timeout'],            // in seconds
                      
CURLOPT_TIMEOUT_MS           => $cronjobSettings['curl_timeout'] * 1000,     // in ms
                      
CURLOPT_CONNECTTIMEOUT       => $cronjobSettings['curl_timeout'],            // in seconds
                      
CURLOPT_CONNECTTIMEOUT_MS    => $cronjobSettings['curl_timeout'] * 1000,     // in ms
                      
CURLOPT_NOBODY               => false,                                       // return body
                      
CURLOPT_VERBOSE              => false,                                       // Minimize logs
                      
CURLOPT_AUTOREFERER          => true,                                        // ?
                      
CURLOPT_FAILONERROR          => true,                                        // fail connection on error!
                      
CURLOPT_RETURNTRANSFER       => true,                                        // return (get) data
                      
CURLOPT_SSL_VERIFYHOST       => false,                                       // no certificate
                      
CURLOPT_SSL_VERIFYPEER       => false,                                       // no verify!
                      
CURLOPT_POST                 => false,                                       // no posting
                      
CURLOPT_FOLLOWLOCATION       => true,                                        // follow redirects
                      
CURLOPT_MAXREDIRS            => 3,                                           // max number of redirects to follow
                      
CURLOPT_DNS_USE_GLOBAL_CACHE => false,
                      
CURLOPT_DNS_CACHE_TIMEOUT    => 2,
/*
                      CURLOPT_LOW_SPEED_LIMIT   => 10,                                          // in bytes
                      CURLOPT_LOW_SPEED_TIME    => $cronjobSettings['curl_timeout'],            // in seconds
                      CURLOPT_NOSIGNAL          => 1,                                           // exit if no signal is found
*/
                     
);
?>

Heeft iemand een idee waar de fout zou kunnen zitten? of is er bekend mee en weet er een work around/oplossing voor?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_128295163
Waarom staat je CURLOPT_DNS_CACHE_TIMEOUT zo kort? En draait je script op dezelfde computer als je browser? Zoeken ze de host op via dezelfde DNS server?
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_128296332
Ik draai alles op het zelfde systeem (mijn test omgeving laptop) en heb nergens een DNS adres ingesteld whatsoever...

De timeout staat zo kort omdat deze dan toch al wel gevonden moet zijn? lijkt mij? :D maar zal hem eens verhogen en kijken of dat een verschil maakt..
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_128298826
quote:
0s.gif Op woensdag 26 juni 2013 21:16 schreef Chandler het volgende:
Ik draai alles op het zelfde systeem (mijn test omgeving laptop) en heb nergens een DNS adres ingesteld whatsoever...

De timeout staat zo kort omdat deze dan toch al wel gevonden moet zijn? lijkt mij? :D maar zal hem eens verhogen en kijken of dat een verschil maakt..
Het is de duur waarmee items in de DNS cache van cURL worden bewaard. Jij kiepert nu elke twee seconden je DNS cache leeg, waardoor je URLs heel vaak moet resolven. Als je vaak dezelfde host benaderd, dan is het wel handig om je cache langer gevult te laten.

Het is dus géén timeout die bepaalt hoe lang cURL staat te wachten op een request.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_128299050
Het voorbeeld is dat ook niet helemaal juist, want zowel met deze opties als zonder (of op welke waarde dan ook) blijven de fouten zich voordoen. Ik had deze DNS opties als test toegevoegd, maar zonder resultaat....

Dus snap ik nog steeds niet (lijkt mij dus dat DNS van de brouwser het zelfde is als die php gebruikt) waarom hij ze niet pakt? beetje vervelend...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_128299337
Doe de URLs eens stuk-voor-stuk en kijk bij welke hij vastloopt.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  Moderator / Redactie Sport / Devops woensdag 26 juni 2013 @ 22:23:09 #47
176766 zoem
zoemt
pi_128300570
Alleen de curl opts zegt niet zo heel veel; het kan ook op een ander punt fout gaan (wat ik vermoed). Wat voer je verder nog uit met curl?
  woensdag 26 juni 2013 @ 23:54:41 #48
187069 slacker_nl
Sicko pur sang
pi_128305582
quote:
0s.gif Op woensdag 26 juni 2013 20:29 schreef Chandler het volgende:
Ik loop tegen iets in CURL aan, voor vele URLS krijg ik een goede status terug van CURL maar sommige een foutmelding, deze foutmelding is vaak Could not resolve host: (nil); Host not found terwijl als ik met de browser naar deze url ga, bestaat deze wel!? en laad erg snel.

Mijn scriptje draait 25 URLS tegelijk met een timeout van 10 seconden.. Dus nu vraag ik mij af?! waar ligt dit aan? mijn opts zijn als volgt;
[ code verwijderd ]

Heeft iemand een idee waar de fout zou kunnen zitten? of is er bekend mee en weet er een work around/oplossing voor?
Je wilt die DNS CACHE behouden, je zou eventueel als je echt lowlevel wilt gaan doen eerst resolven en dan pas aan CURL geven.

http://www.php.net/manual/en/function.dns-get-record.php

En dan wil je op A, CNAME en AAAA records zoeken en CNAME's moet je weer doorresolven tot je uitkomt op een A/AAAA record.

Of deze: http://www.php.net/manual/en/function.checkdnsrr.php
In theory there is no difference between theory and practice. In practice there is.
  † In Memoriam † donderdag 27 juni 2013 @ 00:47:33 #49
159335 Boze_Appel
Vrij Fruit
pi_128307402
quote:
0s.gif Op woensdag 26 juni 2013 14:39 schreef mstx het volgende:
Yes.
Indexes erbij maken op type en isactive. Daar doe je de selecties op.
Carpe Libertatem
pi_128309712
Ik voer verder niets specifieks uit met curl, ik gebruik dezelfde opzet als die eerder door Slacker_nl is gegeven (DIG / [PHP/(My)SQL] voor dummies #109)

En het uitlezen van de DNS per URL zou een mogelijkheid zijn, al zou CURL deze url natuurlijk ook gewoon moeten kunnen vinden :{
The people who lost my respect will never get a capital letter for their name again.
Like trump...
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')