 |
|
Autor: Grelek (grelek.wz.cz)
Datum: 28. 09. 2011 09:09
Dobrý den
Začal jsem číst seriál na linuxsoftu (je složitější takže jsem se zatím učil jinde) a v díle 16 se pracuje s funkcí cal_days_in_month, je i v dokumentaci ale server mi hlásí že nemůže zavolat funkci.
Podle dokumentace je funkce od verze 4.1.0, na serveru xxx.unas.cz je PHP 4.3.4.
Poradíte mi někdo?
|
|
| Reagovat
|
|
Autor: Tomík (tom.czweb.org)
Datum: 28. 09. 2011 13:19
Dostupnost funkce se nelze řídit jen pomoci verze PHP, ale i dostupnosti knihovny. Pokud není knihovna dostupná (načtena), pak daná funkce pro danou situaci neexistuje.
|
|
| Reagovat
|
|
Autor: Grelek (p-rd.unas.cz)
Datum: 28. 09. 2011 14:43
Tuším že budu za blba ale to je mi momentálně jedno.
Můžu PHP nějak pomoci k načtení knihovny kterou já potřebuji?
|
|
| Reagovat
|
|
Autor: Tomík (tom.czweb.org)
Datum: 28. 09. 2011 16:09
Pokud nejsi správce serveru, tak ne.
Aby se mohla nějaká knihovna načíst, tak je potřeba ji připojit a nastavit. Toto je však systémová práce, kterou provádí pouze správce serveru. Zde na WZ s tímto nepochopíš a nepochodíš s tím i na jiných hostingových služeb. Změna nastavení čehokoli na serveru znamená až několik hodin práce a hlavně odstavení serveru. Aby se mohlo nové nastavení projevit, tak je třeba resetovat server. A to se nikomu nechce.
|
|
| Reagovat
|
|
Autor: Grelek (grelek.wz.cz)
Datum: 28. 09. 2011 19:02
Tak to je pěkné, tím pádem se mi znemožnilo vyzkoušet "projekt" kalendář z PHP seriálu na linuxsoftu...
|
|
| Reagovat
|
|
Autor: Nípal (moderátor)
Datum: 28. 09. 2011 19:27
Když koukám na popis té funkce... to je tak těžké implementovat ji sám (nebo ji něčím nahradit)? Pokud nebudu bazírovat na všech možných kalendářích a vystačím si s jedním (pravděpodobně gregoriánským), je výpočet počtu dnů v měsíci triviální záležitostí.
|
|
| Reagovat
|
|
Autor: Tomík (tom.czweb.org)
Datum: 28. 09. 2011 19:28
Pokud chceš zkoušet, tak je lepší si vytvořit vlastní web server s PHP.
Pro "domácí" použití tam není žádné omezení, takže můžeš zkoušet i takové věci, které jsou v reálu zakázané ;)
Jinak. Dobrý programátor vždycky najde způsob, jak to obejít. Na většinu z těch funkcí vždy existuje alternativa. Pokud se podíváš na online PHP manuál, tak u každé funkce jsou pod nimi komentáře od jiných. Většina z nich tam uvádí možní alternativy.
Tak třeba na tu tvoji funkci cal_days_in_month() je tam alternativa:
<?php
if (!function_exists('cal_days_in_month'))
{
function cal_days_in_month($calendar, $month, $year)
{
return date('t', mktime(0, 0, 0, $month, 1, $year));
}
}
if (!defined('CAL_GREGORIAN'))
define('CAL_GREGORIAN', 1);
?>
|
|
| Reagovat
|
|
Autor: peta (peter-mlich.wz.cz)
Datum: 03. 10. 2011 15:02
Na zkouseni si nainstaluj vlastni php server na ten pocitac, ze ktereho pises. Doporucuji program wamp server pro windows.
|
|
| Reagovat
|
|
Autor: Grelek (grelek.wz.cz)
Datum: 03. 10. 2011 18:56
Tomík: Dobrý programátor vždycky najde způsob, jak to obejít.
Vypadám jako dobrý programátor? :-)
peta: Jojo, taky mě to už napadlo :-)
|
|
| Reagovat
|
|
Autor: Kit (ekobrikety.vyrobce.cz)
Datum: 03. 10. 2011 19:15
Doufáme, že se z tebe dobrý programátor stane.
Funkci cal_days_in_month() jsem dosud neznal a vždy jsem ji nějak obcházel. Dobře se obchází přes databázi jako součást nějakého dotazu. Když se nad tím zamyslím, tak v PHP skoro vůbec funkce pro datum a čas nepoužívám, protože databáze to mívají vyřešeno mnohem lépe. Hlavně se mohu plně spolehnout na SQL funkci NOW(), i když budu mít na serveru s Apache špatně datum a čas, byť třeba jen o pár sekund.
http://interval.cz/clanky/nebojte-se-formatu-datumu-a-casu-v-mysql/
|
|
| Reagovat
|
|
Autor: Grelek (grelek.wz.cz)
Datum: 03. 10. 2011 20:36
Poradí mi někdo jak nastavit WAMP server na takové to "standardní" nastavení?
Děkuji :-)
|
|
| Reagovat
|
|
Autor: Kit (ekobrikety.vyrobce.cz)
Datum: 03. 10. 2011 20:39
WAMP jsem sice nikdy nezkoušel (nemám na čem), ale mělo by to fungovat bez nastavování.
|
|
| Reagovat
|
|
Autor: Grelek (grelek.wz.cz)
Datum: 03. 10. 2011 20:43
Kit: No já vůbec hlavně úplně aspoň nějakej návod trošku.. v angličtině si toho moc nepočtu (moc ještě nerozumím). Jinak kdybych mohl mám LAMP jenže s Linuxem bych chtěl taky začít jenomže mam OpenSuse a nějak mi nefunguje připojení na Wi-Fi no a táta jezdí od pondělí do čtvrtka na ČVUT takže na to nemá čas no.. a tím pádem mi nefunguje Linux jak bych chtěl.
|
|
| Reagovat
|
|
Autor: peta (peter-mlich.wz.cz)
Datum: 04. 10. 2011 14:49
"a táta jezdí od pondělí do čtvrtka na ČVUT takže na to nemá čas.. a tím pádem mi nefunguje Linux jak bych chtěl"
Co muzes udelat sam, udelej sam :) Tim nechci rici, ze bych na to prisel, mozna je problem slozitejsi a tez do linuxu nedelam, pac tam proste ovladace obvykle nejsou nebo nefunguji spravne na vsech strojich. Ale aspon bych to zkusil.
|
|
| Reagovat
|
|
Autor: Tomík (tom.czweb.org)
Datum: 04. 10. 2011 17:33
U linuxu je na rozdíl od Windows takový problém, že pokud jde o PHP, tak tam nenahrává všechno. Musel bys je tam postupně doinstalovávat.
Jinak instalace LAMP v OpenSUSE, ale i jinde, je podstatě to samé jako instalace programu přes balíčkovácí systém. Prostě najdeš výrazy "apache", "php" a jeho varianty (třeba php-imap, php-bzip apod - to jsou ty knihovny, o kterých jsem psal a povoluji funkce), "mysql" a instaluješ je. Pak by měly být připravený. U OpenSUSE je myslím i nějaké grafické prostředí pro nastavení serveru.
|
|
| Reagovat
|
|
Autor: Kit (ekobrikety.vyrobce.cz)
Datum: 04. 10. 2011 18:28
V openSUSE se na instalaci čehokoli používá buď řádkový program zypper, anebo grafický yast2. Balíčky nehledáš na netu, ale přímo vybíráš v instalátoru.
PHP je v openSUSE skutečně rozděleno na mnoho modulů. Např. XSLT, DBA, MySQL, SQLite,... je nutné instalovat dodatečně. Výhodou je, že se nemusí instalovat zbytečnosti.
|
|
| Reagovat
|
|
Autor: Grelek (grelek.wz.cz)
Datum: 06. 10. 2011 17:41
Hm, tak nejdřív se pořádně naučím programovat a pak přejdu z Windowsů na Linux OpenSUSE.. :-)
Každopádně vám moc děkuji za vaše rady :-)
|
|
| Reagovat
|
|
Autor: Kit (ekobrikety.vyrobce.cz)
Datum: 06. 10. 2011 18:08
Hmm. A jak se chceš naučit programovat bez Linuxu? Raději to přehoď: Nejprve přejdi z Windows na openSUSE a v něm se nauč programovat.
|
|
| Reagovat
|
|
Autor: Nípal (moderátor)
Datum: 07. 10. 2011 11:23
Kit: Jde to i bez Linuxu, záleží na tom, co chceš programovat. Pokud děláš třeba do Javy, je úplně jedno, na čem to děláš. Totéž různé skriptovací jazyky a databázové servery - prostě obvykle existují porty na několik operačních systémů. Jediné, kde upotřebíš Linux, je systém make a programování v C/C++ s POSIXovými knihovnami (a i na to pro Windows existuje cygwin). Tím netvrdím, že je nutné se Linuxu vyhnout. Ale ohrazuji se tím proti případnému tvrzení, že programátor bez Linuxu není programátor.
|
|
| Reagovat
|
|
Autor: Kit (ekobrikety.vyrobce.cz)
Datum: 07. 10. 2011 12:35
Nípale, ber to, co jsem napsal, trochu s nadsázkou. Samozřejmě se dá programovat i ve Windows. Jen mi připadalo jako divný postup se nejprve učit programovat ve Windows, abych mohl pracovat s Linuxem.
Jinak to co jsi psal o make a C/C++ už v Linuxu dávno neplatí. Osobně v C programuji velmi málo, v C++ vůbec a přesto jsem v Linuxu napsal hodně programů, hlavně pro svou osobní potřebu. Výběr jazyků v Linuxu je prostě mnohem lepší než ve Windows a hlavně se mezi sebou dají elegantně kombinovat, protože každý programovací jazyk se hodí na trochu odlišné použití. Asi těžko bych třeba násobil velké matice v C, protože C je na to prostě slabé.
|
|
| Reagovat
|
|
 |
 |