1. 程式人生 > >在IIS7.5下使用php執行exe程式的總結

在IIS7.5下使用php執行exe程式的總結

花了好幾天來研究如何在IIS7.5下使用php執行exe程式,總算有點成效,雖然執行成功了但是限制頗多,比如現在只能執行“純後臺”的程式,直接上傳檔案形式的圖片也失敗了(上傳照片流可以成功),還有待進一步嘗試。

下面簡單說一下要注意的事情:

1.      配置網站目錄許可權,增加IUSR帳戶;

2.      配置cmd.exe檔案的許可權,增加IUSR帳戶;

3.      必要的情況下,將IUSR帳戶新增到管理員許可權(但是這樣做安全隱患很大,所以要慎重考慮);

4.      很重要的一點——php使用exec()等函式,只能執行“純後臺”的程式,不然會造成程式卡死的情況;

php程式碼如下:

<?php

   if(!function_exists('system'))

      die('system() not enable');

  $cmd = "opf.exe";

   $a= exec($cmd,$out,$status); 

  print_r($a); 

  print_r($out); 

  print_r($status);

  //$result=system(escapeshellcmd($cmd));

  //print "<br>執行結果".$result;

?>

其中opf.exe的原始碼如下:

#include<iostream>

using namespace std;

 

int main(int argc,char*argv[])

{

    FILE* file =fopen("D:\\wwwroot\\a.txt","w");

    fprintf(file,"good morning!");

    fclose(file);

    return 2;

}


相關推薦

IIS7.5使用php執行exe程式總結

花了好幾天來研究如何在IIS7.5下使用php執行exe程式,總算有點成效,雖然執行成功了但是限制頗多,比如現在只能執行“純後臺”的程式,直接上傳檔案形式的圖片也失敗了(上傳照片流可以成功),還有待進一步嘗試。 下面簡單說一下要注意的事情: 1.      配置網站目錄許

IE和Firefox執行exe程式

<a href="javascript:LaunchApp()">Click here to Execute your file</a> <script> functionLaunchApp() { netscape.security.PrivilegeMana

linux執行exe程式之wine的使用與安裝

搜尋wine的rpm包並下載 wine的安裝通過原始碼包也是可以實現的; yum安裝wine快捷,方便; 查詢wine相關rpm包並下載,不過依賴性很多,依次解決依賴性即可; 這裡我把wine的rpm包以及相關依賴性整理放在百度雲盤上,

Windws Server 2008 R2 WEB環境配置之IIS7/IIS7.5+FastCGI+PHP 5.6.4+MYSQL+phpMyAdmin

php擴展模塊 dev sql fig文件 version 可執行 ges 全能 bstr 本篇為WEB環境配置的匯總篇,其中PHP以FASTCGI方式來運行,這種方式性能更高。經過配置後,我們的服務器將同時可以運行PHP和.NET的程序,屬稱全能服務器。所有配置可以根據自

.net 程式碼呼叫cmd執行.exe程式,獲取控制檯輸出資訊

使用.net core 對老專案升級, .net core 使用TripleDES.Create() 加密眾iv位元組限制 與 framework中的不同, 新專案還需要相容老專案版本,還不想通過webapi 進行資料request和response, 遂想到使用控制檯輸出的形式進行嘗試,  具體程

java 執行 exe 程式:可以雙擊執行,程式卻不能呼叫解決

java 呼叫exe檔案 public static void main(String[] args) { try { Runtime rt = Runtime.getRuntime(); Process p = rt.exec("cmd /c F:\\tankong2\\a

windows php-cgi.exe 0xc000007b 錯誤 阿星小棧

    dll缺失可以用 DirectX9 去修復。不限於64,32。  0xc000007b 報錯: php5.3、5.4和apache都是用vc9編譯,電腦必須安裝vc9執行庫才能執行。 php5.5、5.6是vc11編譯,如用php

在iis8.5部署ASP.NET程式AjaxPro不能用問題解決辦法

我原來是在windows2003下面,用vs2005 c#+ajaxpro開發的一個b/s程式,ajaxpro一切都執行正常 現在我移植到vista下面,在iis7下配置好了,資料庫訪問什麼的都很正常,就是ajaxpro部分的程式碼允許不正常 總是提示類名沒有定義 程式碼如下: var nRtn=

如何在Visual C++除錯執行C程式

  本文轉載自網際網路,如有侵權,請聯絡我及時刪除。謝謝。   從2008年4月開始,全國計算機等級考試將全面停止Turbo C2.0(簡稱TC)軟體的使用,所有參加二級C語言、三級資訊科技、網路技術和資料庫技術上機考試的考生,都要在Visual C++6.0(簡稱VC)環

C# 呼叫exe程式總結

已經很久沒有更新部落格,以後關於個人或者團隊在實際中遇到的問題在這裡做個記錄。 先總結一下C#呼叫執行exe程式,簡單直接上程式碼 Thread worker = new Thread(delegate () { System.Diagno

PHP(三)win7使用IIS7-8作為PHP執行環境

在Windows Server 2008或2012環境中,nginx和apache都不是最好的web容器。windows自帶的IIS才是最好用的WEB容器。這就意味著,如果我們使用windows server作為WEB伺服器的作業系統,應該使用IIS作為執行ph

IIS7.5中呼叫執行cmd命令生成檔案失敗

專案是這樣的,C++人員寫了一個dll,便於跨平臺呼叫,所以用的是控制檯介面傳參呼叫,目的是生成一個檔案。程式碼編寫完成後,本機沒問題,釋出到阿里雲伺服器始終呼叫不成功,而直接在cmd介面是可以呼叫執行成功的。程式碼主要如下: /// <summar

在linux環境編譯執行OpenCV程式的兩種方法

  原來以為在Ubuntu下安裝好了OpenCV之後,自己寫個簡單的程式應該很容易吧,但是呢,就是為了編譯一個簡單的顯示圖片的程式我都快被弄崩潰了。   在谷歌和上StackOverFlow檢視相關問題解答之後,我下面就介紹Command Line和CMake兩種方式。

PHP執行python程式的方法(PHP與scrapy進行互動)

首先看PHP程式碼 ​system('PATH\python.exe PATH\xxx.py ' (PARAMS)); 一般我們執行python檔案的方法是 python xxx.py, 那麼,對於PHP來執行的話,同樣是python xxx.py 但是PHP不知道我們

linux後臺執行python程式並輸出到日誌檔案中。

現有"test_read_pic_and_predict.py"程式要在後臺部署,裡面有輸出內容 執行命令:  nohup python -u test_read_pic_and_predict.py > test.log 2>&1 &

linux如何執行c++程式(包括呼叫外部函式庫)

這個問題困擾了我好久,但在網路上搜索很久也沒有找到具體的,條理清晰的一篇。所以,自己動手豐衣足食(拖拖拖了一個月。。) 執行c++程式 事實證明gcc是理解不了c++的。。 用g++執行你的程式,比如:g++ main.cpp g++產生一個.out

win7 php-cgi.exe 0xc000007b 錯誤

之前在win7下裝過一次開發環境,今天換電腦需要再裝一次,安裝php的時候遇到一個錯誤 php-cgi.exe 0xc000007b 查了半天說丟失 dll檔案,下載了無數個dll檔案都不解決問題,最後想到安裝的版本是 VC11 x64 Thread Safe 查到這個p

java專案匯出為jar並使用exe4j打包成可執行exe程式

前言: 上一篇文章寫道  java專案打包成jar編寫啟動檔案在windows和Linux下執行 ,對於普通的java應用程式這種方式沒有什麼問題,but,最近突然想起來,這樣好不容易寫的程式,class原始碼不就相當於暴漏了嗎,所以如果在Windows

PHP-執行外部程式

備份/恢復資料庫 exec — 執行一個外部程式(在php檔案所在目錄進行執行) 很久以前寫的,很多方法是專案中的直接複製粘體用不了,只能提供下思路。 用到執行外部程式的就這一句: exec("mysql -u$username -p$password $database < $backup_pat

為什麼linux執行程式如此消耗虛擬記憶體

最近遊戲已上線運營,進行伺服器記憶體優化,發現一個非常奇妙的問題,我們的認證伺服器(AuthServer)負責跟第三方渠道SDK打交道(登陸和充值),由於採用了curl阻塞的方式,所以這裡開了128個執行緒,奇怪的是每次剛啟動的時候佔用的虛擬記憶體在2.3G,然後每次處理訊息就增加64M,