Re: Re: Problems with exec() on windows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Kyohere Luke wrote:
> Hi,
> 
> Tried all that - it'd work well until one of the arguments also had spaces
> and thus had "" or '' encapsulating it - this weirdness is the reason for
> this post.
> Shawn, even the good old "C:\pathwi~1\gammu.exe" failed :-(

Well, you didn't do it properly then.  What is the actual path?

> 
> The only way I've gotten it to work was to get rid of the spaces in the
> path/to/exe.
> 
> Luke.
> 
> On Thu, Mar 19, 2009 at 8:24 PM, bruce <bedouglas@xxxxxxxxxxxxx> wrote:
> 
>> hey...
>>
>> if you're going to deal with file/pathnames in windows/linux.. you're going
>> to have to encapsulate them with "" or with '' ie double/single quotes...
>>
>>
>>
>> -----Original Message-----
>> From: Kyohere Luke [mailto:luke@xxxxxxxxxxx]
>> Sent: Thursday, March 19, 2009 10:18 AM
>> To: Bastien Koert
>> Cc: Shawn McKenzie; php-general@xxxxxxxxxxxxx
>> Subject: Re:  Re: Problems with exec() on windows
>>
>>
>> Eventually settled for getting rid of the spaces in the path. That worked.
>> Thanks.
>> Luke
>>
>> On Thu, Mar 19, 2009 at 8:06 PM, Bastien Koert <phpster@xxxxxxxxx> wrote:
>>
>>>
>>> On Thu, Mar 19, 2009 at 12:48 PM, Kyohere Luke <luke@xxxxxxxxxxx> wrote:
>>>
>>>> Thanks, but I tried this. Doesn't work because the path\to\gammu.exe has
>>>> spaces in it....
>>>> Haliphax, thanks for your comments. I tried escapeshellarg() to no end.
>>>>
>>>> I'm exploring your reply regarding proc_open, but how exactly does
>>>> proc_open
>>>> separate the arguments from the command?
>>>>
>>>> Unless i'm mistaken, data written to the process's stdin (for the other
>>>> process) is not treated like an argument.
>>>>
>>>> If I add the arguments to the process name/path? I'm back to square one.
>>>>
>>>> Luke.
>>>>
>>>> On Thu, Mar 19, 2009 at 6:25 PM, Shawn McKenzie <nospam@xxxxxxxxxxxxx
>>>>> wrote:
>>>>> Kyohere Luke wrote:
>>>>>> Hi,
>>>>>> I'm trying to use exec to call gammu.exe and send sms on windows XP.
>>>>>>
>>>>>> This works from commandline:
>>>>>>
>>>>>> C:\path\to\gammu.exe 1 --sendsms EMS 200 -text "test1 test2"
>>>>>>
>>>>>> But if I run it through php like this:
>>>>>>
>>>>>> $command = "\"C:\path\to\gammu.exe\" --sendsms EMS 200 -text \"test1
>>>>>> test2\"".;
>>>>>> @exec($command, $response, $retval);
>>>>>>
>>>>>> This always fails, returns 1 and the response is empty.
>>>>>>
>>>>>> If the last argument is a string with no spaces, and the double
>> quotes
>>>>> were
>>>>>> omitted, it works perfectly.
>>>>>>
>>>>>> If the double quotes are added around the string with no spaces, it
>>>> fails
>>>>>> again, which makes me believe that the problem is with the double
>>>> quotes.
>>>>>> I've used procmon and it shows that when the double quotes are added
>>>>> around
>>>>>> the last argument, gammu.exe is not even called at all.
>>>>>>
>>>>>> Problem is that the double quotes are required by gammu to send an
>> sms
>>>>> with
>>>>>> spaces in it.
>>>>>>
>>>>>> Any ideas? :-(
>>>>>>
>>>>>> Luke
>>>>>>
>>>>> Why not try:
>>>>>
>>>>> $command = 'C:\path\to\gammu.exe --sendsms EMS 200 -text "test1
>> test2"';
>>>>> --
>>>>> Thanks!
>>>>> -Shawn
>>>>> http://www.spidean.com
>>>>>
>>>>> --
>>>>> PHP General Mailing List (http://www.php.net/)
>>>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>>>
>>>>>
>>> try double slashes for the path and wrap the pathin quotes if there are
>>> spaces in it. Or if possible get rid of the spaces in the folder names
>>>
>>> --
>>>
>>> Bastien
>>>
>>> Cat, the other other white meat
>>>
>>
> 


-- 
Thanks!
-Shawn
http://www.spidean.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux