Страница 2 из 2

Добавлено: 26 май 2014, 18:33
Dragon_Knight
Я даю такие советы, потому что этот вопрос равносилен вопросу: "Народ, я забыл как дышать, напомните плис.", ибо что бы это понять, особо умом блистать не нужно.

Что касается пустой строчки, в установщике я думаю стоит проверка на заполнение или того хуже поиск по указанному пути какого-то файла от PHP, и поэтому пустая строка не прокатит.

Добавлено: 26 май 2014, 18:35
Максим
Dragon_Knight писал(а):в установщике я думаю стоит проверка на заполнение или того хуже поиск по указанному пути какого-то файла от PHP, и поэтому пустая строка не прокатит.
Согласен, возможно и такое. Хреновый значит установщик :mrgreen:

Добавлено: 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