Autor | Zpráva | ||
---|---|---|---|
vazo Profil |
#1 · Zasláno: 4. 8. 2012, 21:27:56
Ahoj,
potřeboval bych poradit, zkoušel jsem instalovat jeden plugin na server, kde běží wordprees, ale při jeho aktivaci mi to hodilo tuhle chybu: Warning: glob() has been disabled for security reasons in /3w/wz.cz/k/kvalitniweby/wp/wp-content/plugins/slidedeck2/slidedeck2-lite.php on line 143 Warning: Invalid argument supplied for foreach() in /3w/wz.cz/k/kvalitniweby/wp/wp-content/plugins/slidedeck2/slidedeck2-lite.php on line 144 Fatal error: Class 'SlideDeckPointers' not found in /3w/wz.cz/k/kvalitniweby/wp/wp-content/plugins/slidedeck2/slidedeck2-lite.php on line 149 Proto bycho potřeboval poradit jak nahradit glob( SLIDEDECK2_DIRNAME . '/lib/*.php' ); , tak aby to na původní funkci kódu nemělo vliv a tento plugin šel aktivovat. Bohužel nastavení php.ini (a tím povolit glob()) nemohu měnit. Předem moc díky za rady. (V php nejsem zase tolik zběhlý).
// Load all library files used by this plugin $lib_files = glob( SLIDEDECK2_DIRNAME . '/lib/*.php' ); foreach( $lib_files as $filename ) { include_once ($filename); } // WordPress Pointers helper $this->Pointers = new SlideDeckPointers( ); // The Lens primary class include_once (SLIDEDECK2_DIRNAME . '/classes/slidedeck-lens.php'); $this->Lens = new SlideDeckLens( ); |
||
ShiraNai7 Profil |
Zkus. Podmínkou je PHP 5.3.0+
$lib_files = new DirectoryIterator('glob://'.SLIDEDECK2_DIRNAME.'/lib/*.php'); foreach($lib_files as $file) { include_once $file->getPathname(); } Ale jde to napsat i bez použití glob().. skript jen includne všechny soubory s koncovkou php v daném adresáři. Např: $dir = SLIDEDECK2_DIRNAME.'/lib'; $handle = opendir($dir); while($item = readdir($handle)) { if('.' === $item || '..' === $item) continue; if(!is_file($file = $dir.DIRECTORY_SEPARATOR.$item)) continue; if('php' === pathinfo($item, PATHINFO_EXTENSION)) { include_once $file; } } closedir($handle); |
||
vazo Profil |
#3 · Zasláno: 4. 8. 2012, 22:08:11
Verze php je nižší než 5.3.0,takže jsem zkusil tvoji druhou část kódu. Ale bohužel to vyhodilo tuhle chybu:
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /3w/wz.cz/k/kvalitniweby/wp/wp-content/plugins/slidedeck2/slidedeck2-lite.php on line 156 Na řádku 156 je toto: $this->Pointers = new SlideDeckPointers( ); |
||
ShiraNai7 Profil |
#4 · Zasláno: 4. 8. 2012, 22:44:11
vazo:
„Na řádku 156 je toto:“ A před ním je co? Na samotném řádku, co jsi uvedl, chyba není. |
||
vazo Profil |
#5 · Zasláno: 4. 8. 2012, 22:52:16
No předním jsem dal ten tvůj opravený kód:
$dir = SLIDEDECK2_DIRNAME.'/lib'; $handle = opendir($dir); while($item = readdir($handle)) { if('.' === $item || '..' === $item) continue; if(!is_file($file = $dir.DIRECTORY_SEPARATOR.$item)) continue; if('php' === pathinfo($item, PATHINFO_EXTENSION)) { include_once $file; } } closedir($handle); |
||
ShiraNai7 Profil |
vazo:
Někde nahraj celý ten PHP soubor a dej tu odkaz.. pokud bys tam měl jen můj kód a za tím ten řádek, tak by tam chyba nebyla. Např. http://pastebin.com/ |
||
vazo Profil |
#7 · Zasláno: 5. 8. 2012, 01:52:59
Tady to je:
http://pastebin.com/4iFkH79s |
||
Radek9 Profil |
#8 · Zasláno: 5. 8. 2012, 09:40:47
vazo:
V uvedeném kódu není použit kód od ShiraNai7. |
||
ShiraNai7 Profil |
#9 · Zasláno: 5. 8. 2012, 09:44:30
Ani chyba syntaxe v něm není.
|
||
Časová prodleva: 12 let
|
0