your script should try it's best to find the executable, on failure
you might consider having it mail an error to you so at least you
can pre-empt the client with regard to getting things working.
most windows machines will probably have there php binary at:
$_ENV['PHPRC'].'php.exe'
variations on the exe name can be (IIRC):
'php-win.exe'
'php-cli.exe'
I think you can be pretty sure about $_ENV['_'] on *nix
systems.
another to consider is a simple installer which tries to
find the exe and on failure offers the user a prompt to say where it
is .. that info can then be stored for use at a later date.
Mattias Thorslund wrote:
> Jochem Maas wrote:
>
>>> have you tried looking for this info you want?
>>>
>>
>
> Yup, but the manual seems kind of "light" on the subject.
>
>
>>> I can't say for sure if it always exists but on the few boxes
>>> I tried I found and entry in both $_SERVER and $_ENV:
>>>
>>> "_" => '/usr/bin/php'
>>>
>>
>
> I found these in $_ENV and $_SERVER, on Linux. I don't have handy access
> to a working Windows installation, yet it needs to work on Windows as well.
>
> If it really does exist on Windows, this might be the ticket, otherwise
> a partial solution for Linux only.
>
>
>>> but that was only on linux.
>>> on windows (where my php cli install is a bit borked),
>>> I didn't find it but I did find "PHPRC" which points to
>>> the directory that the php executable lives in.
>>>
>>
>
> That's at least something. If someone could confirm, that would be great.
>
> I used the following command (at the command-line) to check the contents
> of $_SERVER:
>
> php -r 'print_r($_SERVER);'
>
> Obviously, $_ENV can be checked similarly.
>
>
>>> these maybe of some use.
>>>
>>
>
> Yes very useful, thanks.
>
>
>>> then again what ever it is your trying to do with the php script
>>> you seem to need to run inside another instance of php could probably
>>> be run within the context of the calling script - if you run it inside
>>> a function you can stop any kind of variable scope clashes (assuming there
>>> are
>>> no symbol name clashes [e.g. duplicate functions/classes]):
>>>
>>> function runit()
>>> {
>>> include 'myscript.php';
>>> }
>>>
>>> it's just a thought.
>>>
>>
>
> Unfortunately, I think it's not an option in my case. The sub-process I
> run this way are way, way too big to include in the main process. As
> long as I was just running it on my own systems, it was easy to
> hard-code the location of the PHP executable but now that it's being
> distributed, it needs to "just work"...
>
> Thanks again,
>
> Mattias
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php