ASP.NET 在W7的Apache上執行ASP.NET
1.電腦要先安裝
Framework,測試之前有裝VS2010EXPRESS版本
2.安裝
Apache
網址 http://archive.apache.org/dist/httpd/
檔案 httpd-2.2.25-win32-x86-openssl-0.9.8y.msi
3.安裝
mod_aspdotnet
網址
http://sourceforge.net/projects/mod-aspdotnet/
檔案
mod_aspdotnet-2.2.0.2006-setup-r2.msi
4.設定
Apache裡的
httpd.conf檔,設定如下面資料
參考網址,跑在
Framework4上面
http://stackoverflow.com/questions/5702456/is-there-a-version-of-apache-mod-aspdotnet-for-asp-net-4-0
======下面這段貼在C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf =====
====== 的 httpd.conf 最後面就好 ================================================
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*)" \
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
AspNetVersion v4.0.30319
AspNetMount /ASP "C:/ASP"
Alias /ASP "C:/ASP"
<Directory "C:/ASP">
Options FollowSymlinks Indexes
AspNet files
Order allow,deny
Allow from all
DirectoryIndex index.html index.aspx default.htm default.aspx
</Directory>
#查看
Apache
狀態 ,連線 http://localhost/server-status
LoadModule status_module "modules/mod_status.so"
<Location /server-status>
SetHandler server-status
AllowOverride None
#Order Deny,Allow
#Deny from all
#Allow from .foo.com
</Location>
5.安裝vc9 vcredist_VC9_VS2008_x86.exe ,vs2008 c++ 轉發套件
6.安裝 php 版本 php-5.4.26-Win32-VC9-x86.zip
7.php設定 改 Apache2.2\conf\httpd.conf ,如果有裝php的話
#在LoadModule系列最後加上一行: (改成實際PHP安裝路徑)
PHPIniDir "C:/AppServ/php5/"
LoadModule php5_module "C:/AppServ/php5/php5apache2_2.dll"
#在<IfModule mime_module>區塊中加上一行:
AddHandler application/x-httpd-php .php
#在<IfModule dir_module>區塊中修改DirectoryIndex此行:
DirectoryIndex index.php index.html index.htm
7.將 php5 目錄下的 php.ini-production 更名為 php.ini ,並修改 php.ini 的內容如下
; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/AppServ/php5/ext"
; Windows Extensions
; 啟動幾個常用的 DLL
extension=php_curl.dll
extension=php_gd2.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
session.save_path = "C:/AppServ/php_session_temp"
8.增加目錄
Alias /Test_Php "C:/Users/winxp/workspace/Test_Php/"
<Directory "C:/Users/winxp/workspace/Test_Php/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
下面是說明
Options 內的屬性:
FollowSymLinks:允許使用符號連接
Indexes:若在該目錄底下找不到 index.html ,即顯示整個目錄下的檔案名稱
(若是自己測試用就儘量使用無妨,但測試完最好把該屬性刪除,以免目錄清單被人看光)
AllowOverrides 則可決定是否讀取設定在 .htaccess 檔案,來改變原來設定的存取權限
AllowOverride None 表示不要讀取.htaccess檔
AllowOverride all 表示以.htaccess內容為準來改變原先的存取權限
ps..htaccess 是一個位於目錄中的設定檔,可以設定該目錄及子目錄的屬性
為內定檔名,其真正檔名要查看 srm.conf 中對於 AccessFileName 的定義是哪一個檔案
Order 則用來設定誰可以從這個 Server 取得控制
以上頭的寫法為例:
Order allow,deny ★★ 表示先執行allow,再執行deny
allow from all ★★ 表示允許所有的使用者
ps1. allow 與 deny 二字字首大小寫皆可
ps2. allow 與 deny 之間,只能用半型逗號 , 分開,且中間不可有空格
==========下面是測試連線mysql=======================================
電腦測試之前有裝
MySQL Connector ODBC 5.3
MySQL Connector Net 6.2.5
加入參考 C:\Program Files (x86)\MySQL\MySQL Connector Net 6.2.5\Assemblies
web.config 會增加三行mysql相關的資料
<?xml version="1.0"?>
<!--
如需如何設定 ASP.NET 應用程式的詳細資訊,請造訪
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="false" targetFramework="4.0">
<assemblies>
<add assembly="MySql.Data, Version=6.2.5.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
<add assembly="MySql.Data.Entity, Version=6.2.5.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
<add assembly="MySql.Web, Version=6.2.5.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
</assemblies>
</compilation>
</system.web>
</configuration>
====================================================================
protected void Button1_Click(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert(' 測 試 alert ');</script>");
}
protected void Button2_Click(object sender, EventArgs e)
{
//建立連接字串與物件
string cnnString = @"server=192.168.0.1;uid=testuser;pwd=testpw ;database=testdb";
MySqlConnection cnx = new MySqlConnection(cnnString);
MySqlDataAdapter adapter = new MySqlDataAdapter();
//執行 SQL 語法
string cmdText = "select distinct test_code FROM testtable";
MySqlCommand cmd = new MySqlCommand(cmdText, cnx);
//取得資料集
DataSet ds = new DataSet();
adapter.SelectCommand = cmd;
adapter.Fill(ds);
//餵給GridView
GridView1.DataSource = ds;
GridView1.DataBind();
}
沒有留言:
張貼留言