abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 16:44 | Zajímavý software

Na Kickstarteru lze podpořit vývoj svobodného softwarového nástroje Akira, jenž by měl umožnit designérům designování aplikací v Linuxu. Mělo by se jednat o alternativu k proprietárním nástrojům Sketch, Figma nebo Adobe XD.

Ladislav Hagara | Komentářů: 0
včera 12:11 | Zajímavý článek

V Edici CZ.NIC vyšla kniha CyberSecurity věnovaná problematice kybernetické bezpečnosti, a to především jejím základním principům, které by měl respektovat každý, kdo využívá informační a komunikační technologie. Kniha je ke stažení zcela zdarma pod licenci Creative Commons (CC BY-ND 3.0 CZ) (pdf, epub, mobi).

Ladislav Hagara | Komentářů: 0
včera 02:00 | Nová verze

Byla vydána nová stabilní verze 0.92.4 a první alfa verze verze 1.0 svobodného multiplatformního vektorového grafického editoru Inkscape. Přehled novinek v poznámkách k vydání (0.92.4 a 1.0alpha0). Obě verze jsou k dispozici také jako balíčky ve formátu AppImage. Stačí je stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 6
17.1. 21:22 | Nová verze

Byla vydána verze 1.32 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 0
17.1. 15:44 | Komunita

V říjnu byla změněna licence u multiplatformní dokumentové databáze MongoDB z GNU AGPLv3 na SSPL (Server Side Public License). Dle právníku se nejedná o svobodnou licenci. Databáze MongoDB tak nebude obsažena ve Fedoře, v Red Hat Enterprise Linuxu ani například v Debianu.

Ladislav Hagara | Komentářů: 18
17.1. 02:22 | Nová verze

Byla vydána verze 2.0 svobodné aplikace určené pro fotografování a ovládání digitálních fotoaparátů z počítače Entangle. Kódové jméno této nejnovější verze je Sodium.

Ladislav Hagara | Komentářů: 2
17.1. 01:22 | Nová verze

Byla vydána verze 2.18 svobodného webového prohlížeče pracujícího v grafickém i textovém módu Links (Wikipedie). Přehled novinek v seznamu změn. Links letos slaví 20 let. První veřejná verze 0.80 byla zveřejněna 24. listopadu 1999.

Ladislav Hagara | Komentářů: 5
16.1. 16:55 | Zajímavý článek

Vývojáři postmarketOS (GitLab) hodnotí 600 dnů vývoje tohoto v květnu 2017 představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky [reddit].

Ladislav Hagara | Komentářů: 2
16.1. 15:55 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno bylo celkově 284 bezpečnostních chyb. V Oracle Java SE je například opraveno 5 bezpečnostních chyb. Všechny jsou vzdáleně zneužitelné bez autentizace. V Oracle MySQL je opraveno 30 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace jsou 3 z nich.

Ladislav Hagara | Komentářů: 0
16.1. 15:44 | Komunita

Na YouTube byly zveřejněny komunitní videozáznamy přednášek z konference OpenAlt 2018. Letošní OpenAlt proběhne o víkendu 2. a 3. listopadu opět na FIT VUT v Brně.

Ladislav Hagara | Komentářů: 0
Používáte USB Type-C?
 (19%)
 (16%)
 (11%)
 (12%)
 (37%)
 (3%)
 (45%)
Celkem 402 hlasů
 Komentářů: 0
Rozcestník

Dotaz: mysql_connect () v PHP 7.0

Dalibor Smolík avatar 1.2.2018 15:05 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
mysql_connect () v PHP 7.0
Přečteno: 889×
Zdravím, dočetl jsem se, že funkce mysql_connect () v PHP 7.0 již nadále nefunguje a v ní mám všechny skripty PHP - Mysql.
Pokusil jsem se tuto funkci nahradit funkcí mysqli_connect (), avšak když jsem si nastavil zobrazení errorů v php.ini, vyšlo mi následující:
Warning: mysqli_connect(): (HY000/1698): Access denied for user 'root'@'localhost' in /var/www/html/xxx/skript.php on line 31

Na této řádce mám
$connection = mysqli_connect($hostName,$userName,$password)
přičemž v souboru globals.php, který je přes include připojen je uvedeno
$hostName="localhost" ;
$userName="root" ;
$password="" ;
$databaseName = "prace" ;
v /etc/hosts
127.0.0.1       localhost
127.0.1.1       jkl
192.168.0.7     hal
192.168.0.107   jkl
Databáze běží na stroji jkl. Heslo v databázi je prázdné. V čem by mohla být chyba? U PHP 5 vše běželo normálně (mysql_connect)
Při výstupu databáze v konzoli je se databáze hlásí jako MariaDB.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.

Řešení dotazu:


Odpovědi

Jendа avatar 1.2.2018 16:48 Jendа | skóre: 75 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Není mi jasné, proč máš $hostName="localhost" když DB běží na jkl. A taky máš jkl v hosts souboru dvakrát, ale to bude asi omyl při kopírování.

V některých ovladačích MySQL znamenalo "localhost" ve skutečnosti unixový socket /var/run/mysql/mysqld.sock. Pokud jsi chtěl skutečně TCP na loopback, musel jsi napsat 127.0.0.1.
Dalibor Smolík avatar 1.2.2018 19:25 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Žádné úpravy souboru /etc/hosts nepomáhají. Na původním stroji, kde je uvedeno v /etc/hosts 127.0.0.1 localhost.localdomain localhost. Tam to běží v pohodě.
Nepomáhá ani $hostName="localhost", $hostName="127.0.0.1", ani $hostName="192.138.0.107" (vnitřní IP adresa serveru).
Nepomáhá GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'; (databáze je v konzoli spustitelná)
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
12.2.2018 13:12 Milan Uhrák | skóre: 28 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
V tabulce uživatelů Mysql se strikně rozlišuje localhost (socket), 127.0.0.1, a jiné adresy ... zkus připojení pomocí konzole

mysql -h host -u user -p password
Dalibor Smolík avatar 14.2.2018 12:30 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Stačilo přidat uživatele a heslo v mysql a udělit mu práva. Běží to bez problémů. Jen mám v systému PHP 5.6 (místo 7.0), do skriptů jsem přidal řádek
mysql_query("SET NAMES utf8")
ihned po připojení k databázi, jinak se v této verzi PHP "rozsypalo" písmo. Funguje to teď. k plné spokojenosti
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
1.2.2018 18:36 R
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Prihlasovanie pod rootom je (aspon v Debiane) defaultne zakazane cez siet. Je mozne len z konzoloveho mysql klienta spusteneho pod uzivatelom root.

Takze si vytvor normalneho pouzivatela s normalnym heslom (nie prazdnym) a skus znovu.
Dalibor Smolík avatar 1.2.2018 20:37 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Jo, díky. přidal jsem uživatele a heslo, to nebyl problém. Do verze obsažené v jessie to fungovalo bez problémů od samého začátku bez uživatele a bez hesla. Jinak si budu muset trochu překopat skripty :-), zapnul jsem si chybové hlášení v PHP a vypadá to, že to projde. Díky moc.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
1.2.2018 23:15 R
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Inak skripty sa daju z mysql_* prerobit na mysqli_* vacsinou cez find&replace v textovom editore. Ak je to nejaky zlozitejsi kod, tak je najjednoduchsie pouzit nejaku globalnu premennu (napr. $_GLOBALS['db']).
Dalibor Smolík avatar 2.2.2018 13:09 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Bohužel jsem zjistil, že těch problémů ve skriptech je víc a chci se tomu věnovat v budoucnu, teď jen budu migrovat server na nový stroj. Instaluji verzi Debian 8, kde všechno funguje, jak má. Jen krátký dotaz: je možné dlouhodobě udržovat starší verzi? (V debian.org je k dispozici verze 6, co jsem viděl), lze tedy dlouhodobě např. Debian 8 udržovat a získávat z něj balíčky? Někde by měly být starší archívy, kdybych z nějakého důvodu potřeboval debian Lenny, uvádím jako příklad. Díky moc :-)
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Řešení 1× (Václav HFechs Švirga)
Jendа avatar 2.2.2018 15:22 Jendа | skóre: 75 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
google: php5 in debian stretch
je možné dlouhodobě udržovat starší verzi?
Podpora Debianu 8 na „normálních architekturách“ je do června 2020.
V debian.org je k dispozici verze 6, co jsem viděl
Tak v archivu jsou všechny verze, ale od verze 7 níž už nedostávají bezpečnostní aktualizace.
Dalibor Smolík avatar 2.2.2018 16:27 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Díky, právě jsem se již na ten odkaz díval (než jsem si přečetl tuto odpověď). Zkusím s tím něco udělat. Předělání mysql na mysqli ve skriptech je to nejmenší, spíš mi nefungují php skripty (zejména např. rozbalovací menu vytvořené tabulkou v mysql apod.)
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Dalibor Smolík avatar 3.2.2018 12:13 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Instaloval jsem 1. CD Debianu 9, do source.listu jsem přidal repozitář z jessie. Instaloval jsem PHP 5.6. Zdá se, že to funguje, jen se u údajů přenášených prostřednictvím PHP objevuje špatné kódování. (HTML kód je v zobrazen v pořádku) Ještě na to musím mrknout, jestli to půjde někde nastavit.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
2.2.2018 14:36 Kit | skóre: 42 | Brno
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Napiš si vlastní funkce mysql_*() jako wrapper na mysqli_*() a nemusíš v aplikaci nic měnit.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
4.2.2018 13:21 Denny
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Váš problém je způsoben nesouladem autentifikačních mechanizmů.

Váš uživatel byl vytvořen například takto CREATE USER 'bbb'@'localhost' IDENTIFIED VIA unix_socket USING '***' ale Váš skript předpokládá, že uživatel který se přihlašuje do databáze je vytvořen takto CREATE USER 'bbb'@'localhost' IDENTIFIED VIA mysql_native_password USING '***'

Takže buď si upravte svého uživatele ALTER USER 'bbb'@'localhost' IDENTIFIED WITH mysql_native_password BY '***' tohle si troufám odhadnout že v debianu nepůjde a hodi syntax error, takže přímo upravit tabulku mysql.user třeba: UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'bbb' AND host = 'localhost' samozřejmně reload privilegest,...

nebo si upravte svůj php kód tedy něco jako $hostName="/tmp/mysql.socket"; je nutné upravit cestu podle nastavení Vašeho mysql serveru.

Dalibor Smolík avatar 6.2.2018 14:30 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: mysql_connect () v PHP 7.0
Díky, mysql jede perfektně. A PHP 5.6 na Debianu 9 taky :-)
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.