[ pakito @ 10.02.2019. 15:57 ] @
Citiram deo php koda kojim sam duže vreme "ručno" pravio bekapove MySql-a, i bio jako zadovoljan!
A onda je naišao ljubomorni Marfi i sve je stalo.
Proverio sam: sve funkcioniše i dalje, samo nema fajla bekapovane baze.
Guglajući, došao sam do pretpostavke da mi se oneredio php.ini i u njemu direktiva disable_functions kojom se blokiraju komande exec(), system() i sl.
Žalio se sys adminu, on mi je ovu direktivu "offovao": disable_functions = off;
Pošto je bilo "i dalje ništa", napravio mi je mali php.ini u rutu sajta samo sa "Offovanom" direktivom.
I pošto je "i dalje ništa", rešio da se žalim na ES ..

U čemu je "zminta"?

Code:
/* bekap pojedinacnih tabela */
$dumpfname = $table1 . "_" . date("d-m-Y") . "_" . $brojreci .".sql";
$command = "mysqldump -r $dumpfname --add-drop-table --host=$dbhost --user=$dbuser --password=$dbpass $dbname $table1 ";

/* u php.ini
disable_functions = off;
*/

system($command);

/* slanje fajla na browser */
if (file_exists($dumpfname)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($dumpfname));
    flush();
    readfile($dumpfname);
}

/* brisanje u folderu servera */
$files = glob('*.sql'); 
foreach($files as $file){
    if(is_file($file))
    unlink($file); 
}

[ ntesic @ 12.02.2019. 10:57 ] @
Sta kaze:

Code:
var_dump(ini_get('disable_functions'));
[ pakito @ 12.02.2019. 11:38 ] @
//var_dump(ini_get('disable_functions'));

A gde to treba da se stavi?!
[ djoka_l @ 12.02.2019. 11:57 ] @
U neki php fajl koji možeš da izvršiš.
[ pakito @ 12.02.2019. 13:29 ] @
Dodao sam ga na početak php fajla koji mi pravi(o) bekap.
Dobio sam odgovor:

string(0) ""

Izbacio sam iz vaše instrukcije ono "var_dump" i ostavio samo "ini_get('disable_functions')", sa mojim instrukcijama od ranije, početa toh php-a izgleda ovako

Code:
ini_get('disable_functions');
error_reporting(E_ALL);
ini_set('display_errors', 1);


i ništa, niti izveštaja o greškama, niti mog željnoočekivanog bekapa ...
[ pakito @ 14.02.2019. 08:21 ] @
Dakle:

Code:
var_dump(ini_get('disable_functions'));


Kaže: string(0) ""

Šta dalje?
[ Tpojka @ 14.02.2019. 09:46 ] @
Znači da ne postoji funkcija koja je onemogućena odnosno sve interne PHP funkcije su aktivne.

Prije i poslije "system($command);" linije staviti da se provjeri da l' fajl biva kreiran
Code (php):

/* bekap pojedinacnih tabela */
$dumpfname = $table1 . "_" . date("d-m-Y") . "_" . $brojreci .".sql";
$command = "mysqldump -r $dumpfname --add-drop-table --host=$dbhost --user=$dbuser --password=$dbpass $dbname $table1 ";

/* u php.ini
disable_functions = off;
*/


$filesBefore = glob('*.sql');
system($command);
$filesAfter = glob('*.sql');
var_dump($filesBefore, $filesAfter);
exit;
 


Izvršiti samo ovaj kod bez onog brisanja fajlova ili isporuke fajla na browser (sve ostalo zakomentarisati) da se vidi ima li fajla.
[ pakito @ 14.02.2019. 10:31 ] @
Prvo što sam uradio, čim sam primetio da mi nema bekapa, jeste provera da li se .sql upšte pakuje u određeni folder na serveru.
Činio sam to i direktnom FTP konekcijom, i dodatkom dve-tri linije u sam php fajl koji je proveravao da li se u folderu pojavio ikakav .sql fajl.
Pošto nije bilo nikakvog fajla, shvatio sam da je iz nekog razlog komanda system() neplodna, i obratio sam se ES za savet.

PS: Vaš kod daje ovo:

array(0) { } array(0) { }

Samo da ne zaboravim: proverio sam i sam pristup bazi i njeno čitanje, sve je u redu!
I još ovo da dodam: proverio sam u svim dostupnim browserima, u svima isto!

[Ovu poruku je menjao pakito dana 14.02.2019. u 11:41 GMT+1]
[ Doktor Hlad @ 14.02.2019. 11:07 ] @
Par glupih pitanja:

1. Jesi proverio sta vraca system() funkcija?
2. Jesi proverio sta se desava ako rucno (bez php-a) tu komandu?
[ pakito @ 14.02.2019. 11:24 ] @
1. Ako se to proverava ovako:

Code:
$ttt=system($command);
var_dump($ttt);

Onda system() u mm slučaju vraća ovo:

string(0) ""

2. Ja kao programer sluhista jedva da sam naučio na system() preko php, za ručno prvi put čujem. :)

PS. Pre pokušaja sa system(), probao sam i exec(), tot una!
Server je pod linuxom, a sysAdmin pod stresom zbog čestih pokušaja hakovanja! :)
Sve je inače bilo dobro do neke ozbiljne havarije zbog tih hakovanja.
SysAdmin me uverava da je sada tamo sve u redu, kao i sa php.ini.
[ Doktor Hlad @ 14.02.2019. 11:29 ] @
Da li si ikad otvorio ili, ne dao Bog, procitao ono sto pise ovde:

http://php.net/manual/en/function.system.php
http://php.net/manual/en/function.exec.php

?
[ pakito @ 14.02.2019. 11:42 ] @
Ja sam svog boga video više puta u životu, ali se nisam setio da ga pitam za dozvolu da me pusti na navedene linkove! :)
A i da me je pustio, slaba vajda, jer moj engleski nije ni na tarzanskom nivou, a kad php fraze propustim kroz guglov translator, manje razumem nego kad čitam engleski original. ;)
Zato smo mi programeri sluhisti prepuštani na milost ES, gde se uvek nađe neko dovoljno strpljiv!

Da podvučem: moj problem nije bio problem dugo vremena, sve je radilo ko doxa, dok se nije umešao čika Marfi!



[ Doktor Hlad @ 14.02.2019. 11:47 ] @
Citat:
pakito: Zato smo mi programeri sluhisti prepuštani na milost ES, gde se uvek nađe neko dovoljno strpljiv!


Ne radi se tu o strpljenju. Za mene su copy/paste programeri vredjanje profesije. Zamisli da ti popravlja zube zubar sluhista.
[ pakito @ 24.03.2019. 11:50 ] @
Citat:
Citat:
Citat:
pakito: Zato smo mi programeri sluhisti prepuštani na milost ES, gde se uvek nađe neko dovoljno strpljiv!

Ne radi se tu o strpljenju. Za mene su copy/paste programeri vredjanje profesije. Zamisli da ti popravlja zube zubar sluhista.


Primljeno k znanju, uz napomenu da su sve od praistorije do juče pre podne, zube lečili isključivo sluhisti! I behu svi zadovoljni, i zubari siti, i zubi na broju!
A ovo pišem u ime armije programera "sluhista", koji su zahvaljujući upravo ljudima sa ES naorižani znanjem, strpljenjem i empatijom, uspeli da reše neke svoje "sluhističke" probleme!
Vo vjeki zahvalni!