Fatal error: Uncaught Error: Call to undefined function Mysql_pconnect()
Dobrý den,
Nefunguje jeden firemní web. Automaticky jsem se domníval, že je problém v používání undefined function. Proto jsem to zpětně vrátil na PHP 7. Jenže, problém je někde jinde. Konkrétně to hlásí
Fatal error: Uncaught Error: Call to undefined function Mysql_pconnect() in /www/doc/www.vpsophia.cz/home/library/database.class.php:33 Stack trace: #0 /www/doc/www.vpsophia.cz/home/library/common.php(4): database->open() #1 /www/doc/www.vpsophia.cz/www/index.php(4): require_once('/www/doc/www.vp...') #2 {main} thrown in /www/doc/www.vpsophia.cz/home/library/database.class.php on line 33
Chyba je v první řádku této funkce
function open(){
// DB Open
$this->conn = Mysql_pconnect($this->host,$this->user,$this->password);
mysql_query("SET CHARACTER SET utf8", $this->conn);
mysql_query("SET NAMES utf8", $this->conn);
Mysql_Select_DB($this->database);
if ($this->conn) {
return true;
} else {
return false;
}
$this->error=mysql_error();
}
Nicméně, připojil jsem se přes phpmyadmin do databáze a zjistil, že tam žádná není. Navíc, tento web na rozdíl od ostatních není vůbec ve wordpressu.
Nevíte, prosím Vás, jak to vyřešit?
Děkuji
Jsi si jistý, že tam opravdu byla verze 7? Protože v ní to už nebylo.
https://www.php.net/manual/en/function.mysql-pconnect.php
Očividně ne. Nicméně, na active24 mně řekli, že lze změnit PHP na verzi 5.6, ale museli by to nahrát na jiný disk (nebo něco takového), aby to bylo možné. Nevadilo by jim to, ale by to pracné. A co hůř, nechci je nutit do něčeho, když nemám záruku, že to pomůže.
Nevíte teda, jak to opravit? Že to není ve WordPressu by nevadilo, ale jak vyřešit problém s databází, která vůbec neexistuje.
Četl jsi ten odkaz? Máš tam vypsané alternativy.
A neexistující databázi bude logicky nutné vytvořit.
Pochopitelně četl, ale vůbec nevím, jakou databázi mám vytvořit. Vždy jsem dělal s WordPressem, který ji vytvořil automaticky. Asi to nelze nějak obejít? Ten web snad někdy musel fungovat. Pochybuji, že někdo záměrně tu databázi vymazal.
Třeba v tom webu je kód na vytvoření databáze. Ale těžko od nás můžeš očekávat, že to budeme vědět. Ty máš k dispozici zdrojové kódy, my ne.
A proč? Nebylo by to poprvé ani naposled.
No nevím, souborů PHP je tam několik, které databázi čtou. Avšak, všechny používají celou řadu funkcí, které v PHP 7 neexistují. Nicméně, možná by stačilo v prvé řadě zkusit změnit ty funkce, jenže to se bohužel musí udělat ručně. A bohužel, ve většině případů nestačí pouze přepsat název např.
Oprava kódu databázi nevytvoří.
I kdyby DB někdo vymazal, od toho jsou přece zálohy, ne?
No, to nevím. Active24 si dělá zálohy 90 dní nazpět. Otázkou je, jestli je to v tomhle případě dost.
Pokud jde o firemní web, tak si snad firma dělá i vlastní zálohy, ne?
Měla by, ale bohužel nedělá, ale to bych tady nerad rozebíral.
Neměl jsem na mysli Active24...
A i kdyby, tak by si firma nevšimla, že jim 90 dní nefunguje web?
Divil by jste se, ale ano. Ale to bych tady nerad rozebíral.