root verwende ich AcyMailing API-Skript, was sehr gut funktioniert, aber unter Joomla root nur - wie http://example.com/api.phpWie JPATH_BASE korrigieren PHP-Skript aus einem Verzeichnis läuft nicht
Aber wenn ich die gleichen Stellen Skript mein eigenes Verzeichnis unter gleiche Joomla, lassen Sie uns /scripts/api.php sagen - ich den Apache-Fehler haben für Zeile 12
PHP Fatal error: require_once(): Failed opening required '/var/www/html/joomla/scripts/includes/defines.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/joomla/scripts/api.php on line 12
Das verwirrende Teil des Codes ist
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
if (file_exists(dirname(__FILE__) . '/defines.php')) {
include_once dirname(__FILE__) . '/defines.php';
}
if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__FILE__));
require_once JPATH_BASE.'/includes/defines.php';
}
wo Linie 1 2 ist
require_once JPATH_BASE.'/includes/defines.php';
Wie der Pfad beheben nicht nur von Joomla root zu ermöglichen api.php laufen, aber von /scripts/api.php?
Vielen Dank im Voraus für irgendwelche Ideen zu versuchen.
EDITED - hier ist voll Skript mit JPATH_SITE wie empfohlen - aber wieder ein Fehler
PHP Fatal error: require_once(): Failed opening required 'JPATH_SITE/includes/defines.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/joomla/scripts/singlemail.php on line 12
Kann sein, etwas weiter unten in voller Skript verpasst wird?
<?php
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
if (file_exists(dirname(__FILE__) . '/defines.php')) {
include_once dirname(__FILE__) . '/defines.php';
}
if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__FILE__));
require_once JPATH_SITE.'/includes/defines.php';
}
require_once JPATH_SITE.'/includes/framework.php';
$app = JFactory::getApplication('site');
if(!include_once(rtrim(JPATH_ADMINISTRATOR,DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_acymailing'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php')){
echo 'This code can not work without the AcyMailing Component';
return false;
}
$mailer = acymailing_get('helper.mailer');
$mailer->report = true;
$mailer->trackEmail = true;
$mailer->autoAddUser = false;
$mailer->sendOne(11,'[email protected]');
?>
Hallo, deine Idee scheint zu stimmen, aber ich habe wieder einen Apache-Fehler. Ich habe diesen Fehler und das vollständige Skript oben veröffentlicht - bitte, schau dir das an, vielleicht ist etwas anderes in einem Code verpasst, um JPATH_SITE zu lesen? – Serge