xampp control panel equivalent(apachefriends.org)
Posted: Wed Jul 18, 2012 8:47 am
				
				The ideea to switch on/off apache + mysql (the minimal you need to write php-mysql scripts on windows over apache server):
if is on will turn it off,if is off will turn it on ! the ideea is a switch
Compile it and/OR run it from anywhere of your computer ... theoretically must work ...
Here is the code ...
The spy,
TOVARISH GENERAL CULITA
			if is on will turn it off,if is off will turn it on ! the ideea is a switch
Compile it and/OR run it from anywhere of your computer ... theoretically must work ...
Here is the code ...
Code: Select all
DisableDebugger
Global resultnet=InitNetwork()
Global xampppath.s="c:\xampp\"
Global apachepath.s="c:\xampp\apache\bin\"
Global mysqlpath.s="c:\xampp\mysql\bin\"
Global mysql=0
Global apache=0
Global standbysw=0
 Procedure.l port(port)
  If (Con = OpenNetworkConnection("127.0.0.1", Port)) = 0
  ProcedureReturn 0
  Else
  ProcedureReturn 1
  EndIf
  CloseNetworkConnection(Con)
EndProcedure
;Debug port(80)
;Debug port(3306)
Procedure.l apache(state.l)
iserror=0;success
If(state=1)
  If(Not(port(80)))
    RunProgram("httpd.exe","--defaults-file="+Chr(34)+"..\conf\httpd.conf"+Chr(34)+"  --standalone",apachepath,#PB_Program_Hide)
    Delay(50)
  Else
    iserror=1;it's already running
  EndIf
  apache=1
Else
  If(port(80))
    RunProgram("taskkill","/f /im httpd.exe","",#PB_Program_Hide)
    Delay(50)
  Else
    iserror=2;nothing to stop
  EndIf
  apache=0
EndIf
Delay(10)
ProcedureReturn iserror
EndProcedure
Procedure.l mysql(state.l)
iserror=0;success
If(state=1)
  If(Not(port(3306)))
    RunProgram("mysqld.exe","--defaults-file="+Chr(34)+"my.ini"+Chr(34),mysqlpath,#PB_Program_Hide)
    Delay(50)
  Else
    iserror=1;it's already running
  EndIf
  mysql=1
Else
  If(port(3306))
    RunProgram("taskkill","/f /im mysqld.exe","",#PB_Program_Hide)
    Delay(50)
  Else
    iserror=2;nothing to stop
  EndIf
  mysql=0
EndIf
Delay(10)
ProcedureReturn iserror
EndProcedure
Procedure startserver()
  apache(1):Delay(700):mysql(1):Delay(1000)
  ;waituntilport(80,1):waituntilport(3306,1)
  Delay(500)
  standbysw=1
  End
EndProcedure
Procedure stopserver()
  Repeat
    apache(0):mysql(0)
    Delay(200)
    ;If(apache=0)And(mysql=0)
    If(Not(port(3306))) And (Not(port(3306)))
    ProcedureReturn
    EndIf
  Until 1
  Delay(500)
  standbysw=1
    ;waituntilport(80,0):waituntilport(3306,0)
EndProcedure
;Debug apache(1):Debug mysql(1):waituntilport(80,1):waituntilport(3306,1)
;Debug apache(1):Debug mysql(1):waituntilport(80,1):waituntilport(3306,1)
;Debug apache(0):Debug mysql(0):waituntilport(80,0):waituntilport(3306,0)
If(Not(port(3306))) And (Not(port(3306)))
thread = CreateThread(@startserver(), 500)
  If thread
        Delay(2000)
        Repeat
        Delay(5)
        Until standbysw=1
        KillThread(thread)
  EndIf
 
Else
thread = CreateThread(@stopserver(), 500)
    If thread
          Delay(2000)
          Repeat
          Delay(5)
          Until standbysw=1
          KillThread(thread)
    EndIf
EndIf
End
EnableDebugger
The spy,
TOVARISH GENERAL CULITA