abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 2
    dnes 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 9
    dnes 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | Nová verze

    Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

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

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 2
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 12
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (17%)
    Celkem 689 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    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: 2723×
    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: 78 | blog: Jenda | 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: 31 | 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: 78 | blog: Jenda | 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: 45 | 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.