it-swarm.com.de

Importieren von Joomla CMS in ein benutzerdefiniertes PHP Skript (außerhalb des Stammordners)

Ich versuche, Joomla CMS folgendermaßen in ein benutzerdefiniertes PHP Skript zu importieren:

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');

Dies scheint jedoch nur zu funktionieren, wenn das Skript PHP im Stammverzeichnis der Joomla-Installation abgelegt ist. Wenn ich das Skript in ein anderes Verzeichnis verschiebe, wird der folgende Fehler ausgegeben:

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

Ich teste auf Xampp. In meinem Fall ist Joomla im Stammverzeichnis " htdocs " ( http: // localhost ) und im PHP Skript befindet sich in einem Verzeichnis mit dem Namen newfolder ( http: //localhost/newfolder/index.php ).

Hilfe wäre dankbar.

2
saibbyweb

Dies liegt daran, dass die JPATH_BASE Wert muss aktualisiert werden, da Sie die Datei in ein neues Verzeichnis verschoben haben.

Also ersetze dies:

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

mit diesem:

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