1. php未安裝好,apache不能運行!
不是必須的,iis也能支持php的運行,只不過一半使用php程序的時候都是用的apache。如果用iis的話需要配置一下,用apache不用配置。
2. 如何在自己電腦上架設聊天室伺服器,使別人可以訪問
必須是專線才可以,如果局內網不可以~~
asp架設首先要有IIS
xp 和2000都有帶 98你自己下
就是Internet 信息服務
安裝完畢後你可以通過 計算機-網站-默認網站這幾個步驟 然後點滑鼠右鍵 新建虛擬目錄
建立網站
如果還看不見就點右鍵 屬性-配置 看看擴展名里有沒有asp 如果沒有添加一下 瀏覽C:\WINDOWS\System32\inetsrv\asp.dll
最後點你的網站目錄 右鍵瀏覽就可以看見
php架設
第0步:\>軟體、環境清單
本文側重於Windows平台的Apache版本,而且僅用於調試學慣用!
原貼地址:http://wjhen.3322.org/ipb/index.php?showtopic=32
★軟體環境:
OS:Win2000/WinXP/Win2003
★軟體清單:
1.Apache Ver:1.3.33 (建議使用1.3.x版本,兼容性比較好)
下載地址:http://httpd.apache.org/download.cgi
2.ActivePerl Ver:5.6.1(建議使用5.6.1版本,兼容性比較好)
下載地址:http://www.activeperl.com/Procts/Downloa...x?id=ActivePerl
3.PHP Ver:4.3.10 (建議使用4.3.10版本,兼容性和安全性比較好)
下載地址:http://www.php.net/downloads.php
4.Windows Installer Ver:3.0(可選,如果軟體無法安裝請先安裝,適用於Win2KSP3/Win2kSP4/Win2K3/WinXP/WinXPSP1)
下載地址:http://www.microsoft.com/downloads/details...14-a956122e08e8
[quote]第1步:\>開始安裝Apache
下載完apache_1.3.33-win32-x86-no_src.exe,運行之,出現如圖歡迎畫面。[/quote]
quote]第2步:\>Apache安裝許可協議
當然選擇我同意了。[/quote]
[quote]第3步:\>Apache的一些說明
直接下一步吧。[/quote]
[quote]第4步:\>填寫主機參數
Network Domain:域名(填寫你的主機的域名,如果單機調試可以任意填)
Server Name:主機名(填寫主機所在域的主機名,如果單機調試可以任意填)
Administrator's Email Address:管理員Email信箱
Run as a service for All Users:將Apache伺服器安裝成系統服務(隨系統啟動而系統)
Run When started manually,only for me:每次手工啟動Apache伺服器
如果不知道該怎麼填,可以就按圖中的那些參數填寫,最好將Apache安裝成系統服務。[/quote]
[quote]第5步:\>選擇自定義安裝方式
請在這里盡量選擇自定義安裝方式,可以方便以後的調試。[/quote]
[quote]第6步:\>選擇Apache安裝路徑
請選擇安裝目錄,這里盡量將安裝路徑選擇為C:\,其實是安裝到C:\Apache目錄,因為這樣路徑簡單化,以後寫配置文件會省力好多。[/quote]
[quote]第7步:\>復制Apache程序文件
請耐心等待一下。[/quote]
[quote]第8步:\>Apache安裝結束
請點擊Finish完成安裝。[/quote]
[quote]第9步:\>Apache服務正處於自動運行狀態
現在可以到管理工具的服務中查看,此時的Apache服務已經處於自動運行狀態。[/quote]
[quote]第10步:\>修改httpd.conf文件
httpd.conf文件路徑:C:\Apache\conf\httpd.conf
注意:httpd.conf文件每行最前如果有#,表示這行注釋,要去掉#才能使該行啟用。
修改BindAddress參數
CODEBindAddress *
這個參數是Apache服務IP的設置,設置為*表示將Apache服務埠綁定任意主機可用IP上,可以根據需要綁定IP,單機調試可以綁定到*。[/quote]
[quote]第11步:\>修改httpd.conf文件
Port參數:Apache的服務埠(HTTP服務默認為80,也可以修改為需要的埠)
CODEPort 80
Server Admin參數:管理員信箱(安裝的時候填寫會在這里反映出來,可以按需要修改)
CODEServerAdmin [email protected]
ServerName參數:主機名(安裝的時候填寫會在這里反映出來,可以按需要修改)
CODEServerName yourdomain.3322.org
這幾個參數對單機調試沒有影響,其作用是在Apache出現404和500錯誤的時候提示在頁面上。[/quote]
[quote]第12步:\>Apache已經正常工作啦
修改完httpd.conf文件的參數需要重新啟動一下Apache服務才能使修改的參數生效,可以到服務中Restart一下Apache服務,用IE訪問一下,成功啦。[/quote]
[quote]第13步:\>安裝CGI支持ActivePerl
執行下載文件ActivePerl-5.6.1.638-MSWin32-x86.msi,出現如圖歡迎畫面。[/quote]
[quote]第14步:\>ActivePerl安裝許可協議
當然選擇我同意了。[/quote]
[quote]第15步:\>選擇ActivePerl的安裝路徑
請務必將路徑設置為C:\usr,這是Perl運行所指定的特殊路徑。[/quote]
[quote]第16步:\>選擇PPM3設置
Enable PPM3 to send profile info to參數:是否允許PPM3將個人配置發送出去。
如果需要使用PPM3就允許吧。[/quote]
[quote]第17步:\>ActivePerl一些參數設置
Add Perl to the PATH environment參數:是否將Perl添加到路徑的環境變數中去。
Create Perl file extension參數:是否建立Perl文件的關聯。
一般都可以設置為允許。[/quote]
[quote]第18步:\>開始復制ActivePerl文件
復制ActivePerl的文件會比較慢一點,請耐心等待。[/quote]
[quote]第19步:\>ActivePerl安裝完畢
請點擊Finish完成安裝。[/quote]
[quote]第20步:\>修改httpd.conf文件使Apache支持CGI
httpd.conf文件路徑:C:\Apache\conf\httpd.conf
注意:httpd.conf文件每行最前如果有#,表示這行注釋,要去掉#才能使該行啟用。
修改cgi-bin目錄的屬性AllowOverride參數
查找ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/"字元串,如圖,修改AllowOverride為all
<!-- CETagParser --><br><!-- /CETagParser --> AllowOverride all <!-- CETagParser --><br><!-- /CETagParser -->
修改這個參數的用途是使C:\Apache\cgi-bin目錄有執行cgi的許可權。[/quote]
[quote]第21步:\>修改httpd.conf文件使Apache支持CGI
修改AddHandler cgi-script參數
查找AddHandler cgi-script字元串,如圖,去掉此行前面的#注釋,添加.pl類型。
<!-- CETagParser --><br><!-- /CETagParser --> AddHandler cgi-script .cgi .pl <!-- CETagParser --><br><!-- /CETagParser -->
這個參數用途是添加cgi腳本類型。[/quote]
[quote]第22步:\>CGI配置完成
Restart系統中的Apache服務,使剛才配置生效。[/quote]
[quote]第23步:\>CGI成功運行
將附件中的CGI探針解到C:\Apache\cgi-bin目錄,用IE訪問以下URL。
<!-- CETagParser --><br><!-- /CETagParser --> http://127.0.0.1/cgi-bin/env.cgi <!-- CETagParser --><br><!-- /CETagParser -->
可以看到,cgi已經可以正常運行了。[/quote]
[quote]第24步:\>安裝PHP支持
將下載的php-4.3.10-Win32.zip解壓到C:\,如圖。[/quote]
[quote]第25步:\>安裝PHP支持
將目錄php-4.3.10-Win32修改為php,如圖。[/quote]
quote]第26步:\>安裝PHP支持
進入C:\php目錄,選擇php.ini-dist文件,復制一個副本出來,如圖。[/quote]
[quote]第27步:\>安裝PHP支持
將復件 php.ini-dist文件改名為php.ini[/quote]
[quote]第28步:\>修改PHP配置文件php.ini
php.ini文件路徑:C:\php\php.ini
注意:php.ini文件每行最前如果有;,表示這行注釋,要去掉;才能使該行啟用。
max_execution_time參數:php最大執行時間(如果某些php執行需要很久,請適量加大此參數的值)。
max_input_time參數:php處理提交參數最大時間(一般保持默認,不用修改)。
memory_limit參數:php消耗內存限制 (一般保持默認,不用修改)。[/quote]
[quote]第29步:\>修改PHP配置文件php.ini
register_globals參數:是否打開php全局變數(某些程序需要,可以設置為On)。[/quote]
[quote]第30步:\>修改PHP配置文件php.ini
extension_dir參數:設置php擴展庫目錄,因為php安裝在c:\,所以這了務必設置為
<!-- CETagParser --><br><!-- /CETagParser --> extension_dir = "c:/php/extensions/" <!-- CETagParser --><br><!-- /CETagParser -->[/quote]
[quote]第31步:\>修改PHP配置文件php.ini
file_uploads參數:是否允許文件上傳(一般設置為On即為允許)。
upload_tmp_dir參數:文件上傳臨時目錄(一般可設置為windows的臨時目錄)。
upload_max_filesize參數:文件上傳容量最大限制 (根據需要修改,注意單位)。[/quote]
[quote]第32步:\>修改PHP配置文件php.ini
打開GD模塊:去掉extension=php_gd2.dll前面的;即可,如果需要打開其他模塊或添加其他模塊,也可以在此添加。[/quote]
[quote]第33步:\>修改PHP配置文件php.ini
session.save_path參數:設置php session文件臨時目錄(一般可設置為windows的臨時目錄)。
<!-- CETagParser --><br><!-- /CETagParser --> session.save_path = c:/windows/temp/ <!-- CETagParser --><br><!-- /CETagParser -->[/quote]
[quote]第34步:\>修改httpd.conf文件使Apache支持PHP
httpd.conf文件路徑:C:\Apache\conf\httpd.conf
找到httpd.conf文件末尾,添加如下參數行
<!-- CETagParser --><br><!-- /CETagParser --> Alias /php-bin/ "c:/Apache/php-bin/"
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php .php3
Action application/x-httpd-php "/php/php.exe" <!-- CETagParser --><br><!-- /CETagParser -->
Alias /php-bin/ "c:/Apache/php-bin/"參數:對c:\php-bin目錄做php-bin的影射。
ScriptAlias /php/ "c:/php/"參數:對c:\php目錄做php腳本影射。
AddType application/x-httpd-php .php .php3參數:添加php/php3的腳本類型。
Action application/x-httpd-php "/php/php.exe"參數:設置php/php3的腳本的解析動作。
修改完畢保存httpd.conf,退出即可。[/quote]
[quote]第35步:\>PHP配置完成
Restart系統中的Apache服務,使剛才配置生效。[/quote]
第36步:\>PHP成功運行
將附件中的PHP探針解到C:\Apache\php-bin目錄,用IE訪問以下URL。
<!-- CETagParser --><br><!-- /CETagParser -->
http://127.0.0.1/php-bin/env.php
<!-- CETagParser --><br><!-- /CETagParser -->
可以看到,php已經可以正常運行了。
3. 怎樣使用php實現tcp/udp通訊
1.在socket_bind的時候ip地址不能真回環地址如127.0.0.1
2.server.php後台跑起來的時候nohup php server.php > /var/tmp/a.log 2>&1 &
一: udp 方式
1) server.php
<?php //error_reporting( E_ALL ); set_time_limit( 0 ); ob_implicit_flush(); $socket = socket_create( AF_INET, SOCK_DGRAM, SOL_UDP ); if ( $socket === false ) { echo "socket_create() failed:reason:" . socket_strerror( socket_last_error() ) . "\n"; } $ok = socket_bind( $socket, '202.85.218.133', 11109 ); if ( $ok === false ) { echo "socket_bind() failed:reason:" . socket_strerror( socket_last_error( $socket ) ); } while ( true ) { $from = ""; $port = 0; socket_recvfrom( $socket, $buf,1024, 0, $from, $port ); echo $buf; usleep( 1000 ); } ?>
2) client.php
<?php $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); $msg = 'hello'; $len = strlen($msg); socket_sendto($sock, $msg, $len, 0, '202.85.218.133', 11109); socket_close($sock); ?>
二: TCP 方式
1)server.php
<?php //error_reporting( E_ALL ); set_time_limit( 0 ); ob_implicit_flush(); $socket = socket_create( AF_INET, SOCK_STREAM, SOL_TCP ); socket_bind( $socket, '192.168.2.143', 11109 ); socket_listen($socket); $acpt=socket_accept($socket); echo "Acpt!\n"; while ( $acpt ) { $words=fgets(STDIN); socket_write($acpt,$words); $hear=socket_read($acpt,1024); echo $hear; if("bye\r\n"==$hear){ socket_shutdown($acpt); break; } usleep( 1000 ); } socket_close($socket) ?>
2) client.php
<?php $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $con=socket_connect($socket,'192.168.2.143',11109); if(!$con){socket_close($socket);exit;} echo "Link\n"; while($con){ $hear=socket_read($socket,1024); echo $hear; $words=fgets(STDIN); socket_write($socket,$words); if($words=="bye\r\n"){break;} } socket_shutdown($socket); socket_close($sock); ?>
4. php ldap 用戶認證的問題
你好,我也遇到過這個問題.
我的解決方法是不用RDN,直接用DN.
希望能幫到你.
5. 回復技術提問中的一個問題:php如何讀取域用戶信息 - PHP進階討論
給你一個完整的示例,我自己搭了個AD伺服器測試過代碼了。可以運行。這段代碼將test.local域中,找到OU為「測試組織單元」中找出所有對象,並且發送成CSV文件的例子。另外,AD外圍開發應用不是冷門,很多的保險證券銀行等金融機構都會部署AD服務,並且將不同的應用與AD集成。同樣一套可以集成到AD的應用和不帶有AD的應用在價格不是一點點的差距。通過與AD集成還可以開發各種基SHAREPOINT、Exchange等的應用,還可以利用微軟的像CRM等等產品,開發工作流等應用。應該說是很有錢途的。$value) {? ?? ???if (!is_array($value)) { ? ?? ?? ?? ?? ?continue;? ?? ???}? ?? ???echo $value[\'name\'][0], \',\';? ?? ???echo $value[\'mail\'][0], \',\';? ?? ???echo $value[\'mobile\'][0], \',\';? ?? ???echo $value[\'telephonenumber\'][0], \',\'; ? ?? ???echo $value[\'title\'][0], \',\';? ?? ???echo $value[\'physicaldeliveryofficename\'][0], \',\';? ?? ???echo $value[\'company\'][0], \"\\r\\n\";}?>
6. php 寫入資料庫時Call to a member function bind_param() on a non-object,急,求解
依 Call to a member function bind_param() on a non-object 是因為$regin>mysqli_stmt 這個對象錯誤了, 也就是$regin->mysqli->prepare($sql);在這一句返回的不是statement對象, 而是prepare時發生錯誤返回了false, 所以下面那句就會接著出錯, 你可以試試debug輸出下執行prepare時發生的錯誤, 可以用mysqli_error($link)之類的方法輸出錯誤的原因, $link 就是你連接mysqli的資源, 或者一般有資料庫錯誤之類的會有日誌記錄, 看看你伺服器的mysql有沒有開啟日誌記錄, 然後找到日誌裡面查看資料庫報錯原因
7. php socket_bind error 10049如何解決
查看錯誤信息
//綁定到socket埠
if(($ret=socket_bind($sock,$address,$port))<0)
{
echo "socket_bind() failed: reason:".socket_strerror($ret)."\n";
}
8. php實現多語言,什麼方法比較好用有沒有類似的實例
推薦你使用gettext來解決多語言問題。在使用前需要安裝gettextPHP擴展。
下面的示例來自PHP手冊:
<?php
//SetlanguagetoGerman
putenv('LC_ALL=de_DE');
setlocale(LC_ALL,'de_DE');
//
bindtextdomain("myPHPApp","./locale");
//Choosedomain
textdomain("myPHPApp");
//Translationislookingforin./locale/de_DE/LC_MESSAGES/myPHPApp.monow
//Printatestmessage
echogettext("WelcometoMyPHPApplication");
//Orusethealias_()forgettext()
echo_("Haveaniceday");
使用gettext前,是需要手工編輯語言包的。編輯完成後,可以使用gettext內置的工具,將文本格式的語言包轉化為二進制的。之後就可以在程序中使用了。
使用方法比較簡單,請參考一些網上的教程,和PHP手冊。
您的採納就是我的動力!
9. php連接windows的活動目錄的Invalid credentials問題
根據你說的應該是用戶的問題,當時我用PHP連接LDAP的時候就是因為用戶的問題,會出錯,但是我具體忘了出錯的提示信息。後來改了用戶之後就能bind上用戶了,配置這塊我先看看我以前的日誌,如果是你配置的問題,我會及時QQ聯系你的。
你的ldap_connect()函數能夠連接上我感覺應該不是環境的問題,先試試吧。
10. php socket編程 發送json字元串接不到
代碼如下:
<?
// 設置一些基本的變數
$host =
"192.168.1.99";
$port = 1234;
// 設置超時時間
set_time_limit(0);
//
創建一個Socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could
not create
socket\n");
//綁定Socket到埠
$result = socket_bind($socket,
$host, $port) or die("Could not bind to
socket\n");
// 開始監聽鏈接
$result = socket_listen($socket, 3) or die("Could not set up socket
listener\n");
// accept incoming connections
// 另一個Socket來處理通信
$spawn = socket_accept($socket) or die("Could not accept incoming
connection\n");
// 獲得客戶端的輸入
$input = socket_read($spawn, 1024) or
die("Could not read input\n");
// 清空輸入字元串
$input = trim($input);
//處理客戶端輸入並返回結果
$output = strrev($input) . "\n";
socket_write($spawn,
$output, strlen ($output)) or die("Could not write
output\n");
//
關閉sockets
socket_close($spawn);
socket_close($socket);
?>