Reklama
Nepřihlášený uživatel | Zaregistrovat se
 

Téma:

Počítače a InternetVývoj software

Spravuje:

hkmaly

Může vás zajímat



Reklama


PHP


spolumoderuje harry_x

Prosíme o několik drobných laskavostí:

  • před položením dotazu zkuste zapátrat v dokumentaci. Nikomu se nebude chtít formulovat znova a znova tytéž odpovědi, které již dříve a mnohem lépe napsal někdo jiný.

    Konkrétně návod k instalaci PHP na sebeobskurnejsich platformach se nachází zde.

    Dalším užitečným zdrojem informací o PHP, PHPLIB, ale i spouste jinych veci mohou být stránky Jirky Koska.

    mnohe casti oficialniho manualu k PHP jsou jiz prelozeny do cestiny, zacit muzete zde

    Mnoho otázek k instalaci je zodpovězeno na této stránce.

    A v neposlední řadě se dá zkusit i vyhledávací formulář na této stránce (napravo od formuláře pro odesílání příspěvků).

  • Dodržujte prosím téma, kterým je výhradně programování v jazyce PHP.
    Pokud se kupříkladu Váš dotaz týká pouze databází, zkuste raději klub "SQL".
    Pokud se týká javascriptu, zkuste klub javascript.

  • nepokoušejte se zvýrazňovat své příspevky přebytečnými html značkami. kdyby to dělali všichni, výsledek by se nedal číst. proto budou graficky přespříliš kreativní příspěvky odmazávány.

  • Nadávání off-topic přispěvatelum přenechte moderátorovi klubu.

  • Pokud na Vaši otázku nikdo neodpovídá, nejspíše byla položena tak nešťastným zpusobem, ze na ni při nejlepší vuli nelze odpovědět. Druhá možnost je, že nikdo neví. Každopádně si nijak nepomůžete, budete-li se odpovědi domáhat jejím opakováním provázeným verbální agresivitou.

  • Pokud navzdory výše uvedenému opravdu myslite, ze sem musite neco napsat, zkuste ještě najít odpověď na váš dotaz na www.google.com

  • Tento klub není určen pro příspěvky typu "mám nové stránky v PHP, prosím otestujte mi je" - k tomu, aby člověk našel chybu v jakékoli aplikaci, nemusí být programátor. K podobným žádostem prosím použijte raději obecnější kluby jako www.

Bez výstrahy budou mazány příspěvky, jejichž autoři předchozí řádky očividně ignorovali.
Tato pravidla jsou šita na míru pokročilejším uživatelům, bez jejichž přítomnosti by vaše dotazy mnohdy zůstaly nezodpovězeny.

Připomínky k výše uvedenému akceptuji pouze prostřednictvím interní okouní pošty.

Poznámka: vzhledem k záplavě spamů byl anonymům zakázán zápis a asi to tak nějakou dobu vydrží.

Mesic PHP bugu sice uz dozuril, ale nalezene chyby jeste nebyly opraveny ...


spic už jen wtf  8.červenec 2014 15:31:39
Jasně, že by to bylo správnější. Stejně jako aby curl_err* vracel popis chyby.
hkmaly - Slava pomlcky -  . 8.červenec 2014 15:30:23
Tezko rict. Zalezi na operacnim systemu a jestli delaji nejake skopiciny s chrootem a podobne ...
rushid Nemáte právo číst tento stručný textík  8.červenec 2014 14:46:13
Ja bych rekl, ze na beznem hostingu to bez spoluprace s adminem nepujde. Ale co ja vim.
hkmaly - Slava pomlcky -  . 8.červenec 2014 0:38:42
Predpokladam, ze mluvit o tom, ze spravnejsi by bylo nainstalovat certifikat (resp, on je asi nainstalovany, ale rict o nem curl - CURLOPT_CAPATH) nema smysl.
spic už jen wtf  7.červenec 2014 23:49:52
Zabralo, díky, dřív mi stačil (jiné hostingy) CURLOPT_SSL_VERIFYPEER
spic už jen wtf  7.červenec 2014 23:46:04
Zkusím, nicméně zapomněl jsem napsat, že na lokále mi to se stejnou adresou funguje.
rushid Nemáte právo číst tento stručný textík  7.červenec 2014 23:25:51
Podivej se sem http://cz2.php.net/manual/en/function.curl-setopt-array.php
na funkci get_web_page( $url,$curl_data ) v prvnim komentari. Podle me ti tam chybi nejaka z tech direktiv, mozna CURLOPT_SSL_VERIFYHOST?
spic už jen wtf  7.červenec 2014 22:25:19
pomoc
mám následující pomocnou funkci
private static function curl_get_data($url) { $ch = curl_init(); if ($ch === false) { return false; } curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $data = curl_exec($ch); $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if (strlen($data) > 0) { return $data; } else { return $http_status; } }
$data === bool(false)
$http_status === int(0)
curl_error() === NULL
curl_errno() === NULL

Jak zjistím, proč? Je to nějaký https web (API) a gethostbyname IP v pořádku vrátí.
skull Přijedu domů, spočítám 12 mega a   voholim si ptáka 14.květen 2014 15:07:42
Ano, presne tak jak pises ... Na tom jednom konkretnim miste to sice ted opravim, ale trochu se obavam, ze ten samy problem tam bude zrejme u vsech dalsich volani. Bez podrobnejsi znalosti kodu se vsak nemam moc chut poustet do vetsich oprav. Diky za pomoc!
skull Přijedu domů, spočítám 12 mega a   voholim si ptáka 14.květen 2014 15:01:55
Tak problem objeven. V kodu te galerie je chybka. Ta uzivatelska funkce ocekava, ze parametrem bude reference, ale oni tam posilaji bez ampersandu! Starsi verze php jim to zrejme tolerovala...
skull Přijedu domů, spočítám 12 mega a   voholim si ptáka 14.květen 2014 14:58:35
Pokud jako druhy parametr u call_user_func_array() pouziju array(&$value) , tak to funguje. Pokud tam dam jen $value, tak se ta user funkce nezavola a v errlogu mam warning, ze se ocekaval array. Kdyz zavolam call_user_func(), tak se to nezavola a v errlogu neni nic.
Tak podle toho uprav ten původní if. Ta funkce self_urls_convert nejspíš přebírá parametr referencí.

https://bugs.php.net/bug.php?id=62080
rushid Nemáte právo číst tento stručný textík  14.květen 2014 14:40:21
Co udela treti a ctvrty priklad kdyz pouzijes call_user_func_array() ?
skull Přijedu domů, spočítám 12 mega a   voholim si ptáka 14.květen 2014 14:12:02
problem s call_user_func()
Kolega ma nejakou php fotogalerii, kterou premigroval na nas server. Po migraci mu to jak uz to tak byva prestalo fungovat a tak jsem to zacal krokovat, az jsem v jednom objektu narazil na tento kus kodu:
if (function_exists($plugin_function)) { $value = call_user_func ( $plugin_function, $value ); }
Zjistil jsem, ze ve chvili, kdy se tento kus kodu zavola, tak je v $plugin_function hodnota "sef_urls_convert". Nicmene to volani call_user_func tu funkci evidentne nespusti. Zacal jsem tedy experimentovat:
if (function_exists($plugin_function)) { if ( $plugin_function == "self_urls_convert" ) { // funguje $value = self_urls_convert ( $value ); // funguje $value = call_user_func_array ( $plugin_function, array(&$value) ); // nefunguje $value = call_user_func ( $plugin_function, $value ); // nefunguje $value = call_user_func ( "self_urls_convert", $value ); }; }
Fajn, jenomze kdyz si v samostatnem php souboru v tom samem adresari vyzkousim example code k call_user_func(), tak to samozrejme funguje (verze php je 5.3.3).

V php uz jsem dlouho nic nedelal a tak si v tuhle chvili nevim rady: Je mozne, ze je ten call_user_func() lokalne dissablovany, nebo maskovany necim jinym? Zkusil jsem si grepem vypsat vsechny vyskyty call_user_func ve vsech souborech v tom projektu a nenasel jsem nic jineho, nez je ocekavatelne bezne pouziti te funkce.

rushid Nemáte právo číst tento stručný textík  12.květen 2014 9:14:18
+1
von_Zeppelin Oliheň Beznaděje  pclib php framework 12.květen 2014 9:12:50
Me pripadal celkem sympaticky Yii.
mr_x Find what you love and let it kill you.  9.květen 2014 15:51:06
ted jsem si uvedomil ze jsem v tom neco rozdelal a pak uz jsem se k tomu nedostal ;) Furt si ale myslim ze pokud pouzit nejaky framework tak si ten laravel vyberu
+1
rushid Nemáte právo číst tento stručný textík  7.květen 2014 17:22:14
Zkousel jsem, imho moc ne. Je to v leccems inovativni, ale ne zas tak prevratne. Spis mi to prijde vyhajpovane.
spic už jen wtf  7.květen 2014 16:36:43
Má někdo zkušenosti s Laravel? Je to dobré?