it-swarm.it

Importazione di Joomla CMS in custom PHP (fuori dalla cartella principale)

Sto cercando di importare Joomla CMS in uno script PHP personalizzato in questo modo:

define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/' )); 
require_once ( JPATH_BASE .'/includes/defines.php' );
require_once ( JPATH_BASE .'/includes/framework.php' );
$app = JFactory::getApplication('site');

Ma questo sembra funzionare solo quando lo script PHP si trova nella directory principale dell'installazione di Joomla. Se sposto lo script in un'altra directory, viene generato il seguente errore:

Warning: require_once(C:\xampp\htdocs\newfolder/includes/defines.php):
failed to open stream: No such file or directory in C:\xampp\htdocs\newfolder\index.php on line 56

Fatal error: require_once(): Failed opening required
 'C:\xampp\htdocs\newfolder/includes/defines.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\newfolder\index.php on line 56

Sto testando su Xampp. Nel mio caso, Joomla è installato nella directory principale " htdocs " ( http: // localhost ) e il PHP è inserito in una directory chiamata newfolder ( http: //localhost/newfolder/index.php ).

L'aiuto sarebbe apprezzato.

2
saibbyweb

Questo perché il JPATH_BASE Il valore deve essere aggiornato dopo aver spostato il file in una nuova directory.

Quindi sostituisci questo:

define('JPATH_BASE', realpath(dirname(__FILE__).'/')); 

con questo:

define('JPATH_BASE', realpath(dirname(__FILE__).'/../')); 
3
Lodder