Вы хотите приложение геокодирования. Они доступны или онлайн или как бэкенд приложения.
Онлайн-приложения:
геокодирования:
Константа PHP_BINDIR указывает каталог, в котором находится двоичный файл php
Да, $ _ SERVER ['_']
- это то, о чем вы говорите, или почти что существует. Причина, по которой вы получаете двоичный файл веб-сервера, когда он запускается из Интернета, заключается в том, что / usr / bin / php
не имеет ничего общего с выполнением веб-сервера; то, что он запускает, является отдельным SAPI. В экземпляре веб-PHP нет ничего, что могло бы указывать на / usr / bin / php
, потому что для этого нет причин.
Константа PHP_BINDIR
, вероятно, проще всего использовать; следующее лучшее, что я мог придумать, - это в основном воссоздать этот путь bindir из параметра конфигурации extension_dir
:
$phpbin = preg_replace("@/lib(64)?/.*$@", "/bin/php", ini_get("extension_dir"));
В нем есть регулярное выражение, так что он больше похож на ваш родной Perl (!) но в остальном не особенно оптимален.
В зависимости от способа установки php вы НЕ МОЖЕТЕ найти исполняемый файл php. если php работает как модуль для веб-сервера, например модуль apache, то вы не можете вызывать двоичный файл. вы можете заглянуть в php_info (), в нем все перечислено. может также путь к php. внутри этого пути вы можете предположить двоичный файл php.
но почему вы хотите вызвать дополнительный процесс? вы можете запускать другие файлы php с помощью команды include или eval. нет причин для создания нового процесса.
а как насчет:
Php
exec ("какой php");
?>
Но это только unix / linux: D