| 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 |
#2 · Zasláno: 4. 8. 2012, 21:34:16 · Upravil/a: ShiraNai7
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 |
#6 · Zasláno: 4. 8. 2012, 22:55:33 · Upravil/a: ShiraNai7
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: 11 měsíců
|
|||