Я пытаюсь выполнить двоичные файлы C++, которые я создал с помощью команды cmake и make из PHP. Если я пытаюсь выполнить ту же команду с терминала, все работает отлично, но из php ничего не происходит. Я проверил safe_mode, его отключили. Я дал все исполняемые разрешения, используя chmod. Я попытался положить материал в ту же папку, в другую папку. На самом деле я пробовал все возможные решения, о которых я могу думать, но все же я не могу выполнить эти двоичные файлы. Любая идея, почему я не могу это сделать?PHP - Не удается выполнить двоичные файлы C++?
Любая помощь была бы действительно оценена по достоинству.
Заранее спасибо.
Процедура я использовал: -
if($dir !== FALSE) {
$command = "./segmentation.sh $dir->dirname >> $dir->dirname/log";
$output = $this->terminal($command);
echo $output['output'];
}
функция терминала
public function terminal($command)
{
if(function_exists('system'))
{
ob_start();
system($command , $return_var);
$output = ob_get_contents();
ob_end_clean();
}
else if(function_exists('passthru'))
{
ob_start();
passthru($command , $return_var);
$output = ob_get_contents();
ob_end_clean();
}
else if(function_exists('exec'))
{
exec($command , $output , $return_var);
$output = implode("n" , $output);
}
else if(function_exists('shell_exec'))
{
$output = shell_exec($command) ;
}
else
{
$output = 'Command execution not possible on this system';
$return_var = 1;
}
return array('output' => $output , 'status' => $return_var);
}
И мой сценарий оболочки имеет обычный вызов к бинарным как
/path/to/folder/binary_file $args
Я попытался эхо, LS, MKDIR cmd из моего сценария оболочки, и он работал идеально, только эти двоичные файлы не выполняются.
ставку свой вопрос разрешения пользователя – 2013-03-06 02:01:12
Можете ли вы предоставить код на то, как вы пытаетесь выполнить C++ двоичную? Кроме того, кто является владельцем двоичного файла C++? Нужно быть таким же, как пользователь, которым вы управляете веб-сервер. – neutron
@neutron Я опубликовал фрагмент кода. взглянуть. – Varundroid