time /t
ipconfig
taskkill /im iexplore.exe
rasdial abc /disconnect
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;"C:\Program Files\Internet Explorer"
iexplore.exe g.cn
在终端界面下正常。但是用system("change_ip.bat");却没有反映
vista,apache,php5
这个程序主要是用来断开adsl 然后再连接的,但是本地电信好像设置了,如果直接用rasdial拨号,则会被断开。只能用访问网页的形式来建立连接
谢谢。

解决方案 »

  1.   

    system("set > c:\log.txt");直接在终端执行 
    set > c:\log2.txt对比一下有什么不同此外,php是以什么用户权限运行的?
      

  2.   


    我觉得调用一个bat, 只是运行那个bat吧, 还和用户权限有关 ?
      

  3.   

    我意思是说系统权限和php调用bat处理无关, 只和那个bat里面要执行的东西有. . 
      

  4.   


    通过apache执行php,那么php权限小于等于apache,php执行bat,bat权限小于等于php
    如果apache帐户没有权限操作这个事情,那么你就无法通过php调用bat达到目的
      

  5.   

    以下两点:
    1. 打开了 php 的 safe mode
    2. 执行帐户不同
     - Windows 默认以系统服务, 特殊权限SYSTEM运行,有任何动作你都不会看到
      

  6.   


    根据6楼的解释, 是不是还和apache有关呢
      

  7.   

    谢谢各位,我今天也想到它可能是用户不同的问题,apache以system用户运行。
    不知道还有什么办法没有?
    另外csdn的人气真的不错。
      

  8.   

    直接在终端下运行set结果如下:
    ALLUSERSPROFILE=C:\ProgramData
    APPDATA=C:\Users\bill\AppData\Roaming
    CommonProgramFiles=C:\Program Files\Common Files
    CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
    COMPUTERNAME=BILL-PC
    ComSpec=C:\Windows\system32\cmd.exe
    DFSTRACINGON=FALSE
    FP_NO_HOST_CHECK=NO
    HOMEDRIVE=C:
    HOMEPATH=\Users\bill
    LOCALAPPDATA=C:\Users\bill\AppData\Local
    LOGONSERVER=\\BILL-PC
    NUMBER_OF_PROCESSORS=2
    OS=Windows_NT
    Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;d:\AppServ\Apache2.
    2\bin;d:\AppServ\php5;d:\AppServ\MySQL\bin
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    PROCESSOR_ARCHITECTURE=AMD64
    PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 15 Stepping 13, GenuineIntel
    PROCESSOR_LEVEL=6
    PROCESSOR_REVISION=0f0d
    ProgramData=C:\ProgramData
    ProgramFiles=C:\Program Files
    ProgramFiles(x86)=C:\Program Files (x86)
    PROMPT=$P$G
    PUBLIC=C:\Users\Public
    SESSIONNAME=Console
    SystemDrive=C:
    SystemRoot=C:\Windows
    TEMP=C:\Users\bill\AppData\Local\Temp
    TMP=C:\Users\bill\AppData\Local\Temp
    TRACE_FORMAT_SEARCH_PATH=\\NTREL202.ntdev.corp.microsoft.com\34FB5F65-FFEB-4B61-
    BF0E-A6A76C450FAA\TraceFormat
    USERDOMAIN=bill-PC
    USERNAME=bill
    USERPROFILE=C:\Users\bill
    windir=C:\WindowsC:\Users\bill>
      

  9.   

    用php运行结果如下:
    ALLUSERSPROFILE=C:\ProgramData
    APPDATA=C:\Windows\system32\config\systemprofile\AppData\Roaming
    CommonProgramFiles=C:\Program Files (x86)\Common Files
    CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
    CommonProgramW6432=C:\Program Files\Common Files
    COMPUTERNAME=BILL-PC
    ComSpec=C:\Windows\system32\cmd.exe
    DFSTRACINGON=FALSE
    FP_NO_HOST_CHECK=NO
    LOCALAPPDATA=C:\Windows\system32\config\systemprofile\AppData\Local
    NUMBER_OF_PROCESSORS=2
    OS=Windows_NT
    Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    PROCESSOR_ARCHITECTURE=x86
    PROCESSOR_ARCHITEW6432=AMD64
    PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 15 Stepping 13, GenuineIntel
    PROCESSOR_LEVEL=6
    PROCESSOR_REVISION=0f0d
    ProgramData=C:\ProgramData
    ProgramFiles=C:\Program Files (x86)
    ProgramFiles(x86)=C:\Program Files (x86)
    ProgramW6432=C:\Program Files
    PROMPT=$P$G
    PUBLIC=C:\Users\Public
    SystemDrive=C:
    SystemRoot=C:\Windows
    TEMP=C:\Windows\TEMP
    TMP=C:\Windows\TEMP
    TRACE_FORMAT_SEARCH_PATH=\\NTREL202.ntdev.corp.microsoft.com\34FB5F65-FFEB-4B61-BF0E-A6A76C450FAA\TraceFormat
    USERDOMAIN=WORKGROUP
    USERNAME=BILL-PC$
    USERPROFILE=C:\Windows\system32\config\systemprofile
    windir=C:\Windows
    AP_PARENT_PID=1728
    看来的确是用户问题。
    如此有什么办法解决这个问题呢?
    谢谢。