Страница 2 из 2
Добавлено: 26 май 2014, 18:33
Dragon_Knight
Я даю такие советы, потому что этот вопрос равносилен вопросу: "Народ, я забыл как дышать, напомните плис.", ибо что бы это понять, особо умом блистать не нужно.
Что касается пустой строчки, в установщике я думаю стоит проверка на заполнение или того хуже поиск по указанному пути какого-то файла от PHP, и поэтому пустая строка не прокатит.
Добавлено: 26 май 2014, 18:35
Максим
Dragon_Knight писал(а):в установщике я думаю стоит проверка на заполнение или того хуже поиск по указанному пути какого-то файла от PHP, и поэтому пустая строка не прокатит.
Согласен, возможно и такое. Хреновый значит установщик
Добавлено: 28 май 2014, 11:28
CheF85
Пробовал определять путь и тем и другим способом, но покопавшись в коде модуля выяснил что написанная команда для exec не делает того что нужно:
function background(){
// Load hwdMediaShare config
$hwdms = hwdMediaShareFactory::getInstance();
$config = $hwdms->getConfig();
$result = false;
// Delete test file is already exists
jimport( 'joomla.filesystem.file' );
$filename = JPATH_SITE.'/tmp/hwdms.background';
if (JFile::exists($filename)) JFile::delete($filename);
$cli = JPATH_SITE.'/administrator/components/com_hwdmediashare/cli.php';
// Try to create test file in background
if(substr(PHP_OS, 0, 3) != "WIN"){
exec("env -i ".$config->get('path_php')." $cli test &>/dev/null &");
}
else{
exec($config->get('path_php')." $cli test NUL");
}
// Sleep for 2 seconds
usleep(1000000);
// Check if file exists
if (JFile::exists($filename)){
JFile::delete($filename);
$result = true;
}
Судя по коду, проверка будет пройдена только в том случае, если будет существовать файл, который создаётся (в моём случае, т.е. substr(PHP_OS, 0, 3) = "
WIN" ), командой
exec(
$config->
get('
path_php')."
$cli test NUL"), где path_php и есть тот самый путь к php-cli, но судя по этой команде, файл она не создаёт
Так что прошу прощения за беспокойство.
Добавлено: 28 май 2014, 11:32
Максим
Строку exec($config->get('path_php')." $cli test NUL"); перепишите в
exec("php.exe $cli test NUL");
либо попробуйте указать во время установки такой путь к php:
php.exe