Я хотел бы сделать подобную вещь, чем How to "fork" a video conversion process into background, in php?:Программным получить путь к PHP
exec("/usr/bin/php ./foo.php > /dev/null 2>&1 &"); // executed in Apache
Однако, это будет работать на различных платформах: моей машине, где PHP скомпилирован в ~ /, окна , несколько prod серверов ...
Есть ли способ программно получить часть «/ usr/bin/php»?
Что я мог думать:
- получить текущий PID, угадать исполняемый файл из него
- в C, первый аргумент это путь к исполняемому файлу, может быть, есть что-то подобное
Если вы ожидаете использовать этот код в запросе веб-страницы (вы отметили его как apache), вы никогда не узнаете. Apache не выдает никаких двоичных файлов PHP в общих конфигурациях. –
@ Dan Что такое «общие конфигурации?» suPHP? Это называется использованием двоичных файлов (php-cgi). –
PHP как модуль, а не как CGI, является стандартной и наиболее распространенной конфигурацией. PHP-код работает под процессом apache. –