Ik heb nooit met Visual Studio gewerkt, maar de auto-complete van PhpStorm vind ik zeer goed.quote: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).
quote: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...)....
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.quote: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?
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: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.
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?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).
Alle 2xx return codes geven succes aan (in een of andere vorm).quote: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.
Klopt alleen de 200 met contentquote:Op zondag 23 juni 2013 00:39 schreef Light het volgende:
Alle 2xx return codes geven succes aan (in een of andere vorm).
1 2 3 4 5 6 | <?php $thisdir = dirname(__FILE__); $rootdir = substr($thisdir,0,strrpos($thisdir,'/')); require_once("{$rootdir}/config.php"); ?> |
je hebt door dat er geen $ staat voor thisdir?quote:Op dinsdag 25 juni 2013 11:57 schreef KomtTijd... het volgende:
of anders dirname(__FILE__) ?
[ code verwijderd ]
1 2 3 4 5 | <?php if (!defined('SMARTY_DIR')) { define('SMARTY_DIR', dirname(__FILE__) . DS); } ?> |
Even een index toevoegen over een kleine 3M records kost ook langer dan een kwartiertje...quote: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...)....
Tja, maar volgens mij is een index apart, maar een veld toevoegen of wijzigen duurt helaas VEEL LANGER!quote: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...
Heel simpel, maar zo effectief:quote: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?
1 2 3 4 5 | idA | idB -----+---- 3 | 15 8 | 11 136 | 3 |
1 | SELECT IF(idA=3, idB, idA) FROM tabel WHERE idA=3 OR idB=3 |
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 |
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 |
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.quote:Op woensdag 26 juni 2013 11:59 schreef zoem het volgende:
Ja, een aparte counter bijhouden ipv COUNT(*) uitvoeren
Hij komt wel redelijk vaak voor in m'n slow query log.quote: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?
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'; |
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 */ ); ?> |
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.quote: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?maar zal hem eens verhogen en kijken of dat een verschil maakt..
Je wilt die DNS CACHE behouden, je zou eventueel als je echt lowlevel wilt gaan doen eerst resolven en dan pas aan CURL geven.quote: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?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |