『壹』 php實現離線在線功能
<?php
ignore_user_abort(true);
$arr="";
$max=1024;
for($i=0;$i<$max;$i++){
$arr.=$i;
}
while(true){
if(!connection_aborted()){
echo '';
ob_flush();
flush();
sleep(1);
}else{-----離線操作-----
exit(); <?php
ignore_user_abort(true);
$arr="";
$max=1024;
for($i=0;$i<$max;$i++){
$arr.=$i;
}
while(true){
if(!connection_aborted()){
echo '';
ob_flush();
flush();
sleep(1);
}else{-----離線操作-----
exit();
『貳』 php文件使用什麼軟體打開
諸如.php、.perl、htm等許多程序設計語言源代碼文件,其實都是文本格式的,所以完全可以採用記事本打開!不過採用記事本打開以後一般不容易分析源代碼。
也可以使用 ultraedit, editplus, Notepad++, Dreamweaver, Netbeans eclipse 等軟體.
php可以用文本編輯器(如記事本、emeditor、phpedit等)打開。如果要運行它得搭建相應的php環境和web服務支持才行。
『叄』 一個php編寫的程序(pt站)的源代碼,已經通過ftp上傳到伺服器寶塔根目錄了,怎麼執行該程序
首先確認你的站點能執行php,然後要知道您站點的域名,比如根目錄綁定了域名abc.com,你根目錄有個文件a.php,那就可以在瀏覽器通過abc.com/a.php來訪問文件了。一般index.php如果是在根目錄,可以直接用abc.com來訪問,不需要打出php文件名。如果遇到瀏覽器打開不了文件,請截圖或描述瀏覽器提示什麼錯誤,才能進一步幫你看問題在哪。
『肆』 PHP代碼在線運行工具(tool.lu)為什麼不能換行 代碼如下和結果在補充裡面。
查看解析後的源代碼,如果有br標簽,那是瀏覽器兼容問題,或者js問題!最好本地編輯器寫代碼,然後測試訪問……另外索性數組這樣定義不推薦,php7直接[]定義,傳統索引數組array()定義……
『伍』 用PHP實現Ftp用戶的在線管理
領導要我策劃一個網頁設計大賽和Flash創作大賽,要求必須實現在線報名和上傳作品。通過FreeBSD+Apache+PHP+Mysql+FTP我實現了該要求。
實現在線報名和上傳作品的思路是利用網頁表單收集用戶填寫的資料存儲到Mysql資料庫內,同時以該用戶的注冊名創建一個FTP上傳賬號並創建該用戶的相應目錄。
Ftp伺服器是系統默認帶的,採用系統用戶的用戶名和密碼,創建系統用戶就等於創建FTP用戶,FreeBSD是屬於UNIX陣營的操作系統,它沒有象Linux一樣的useradd和groupadd等創建用戶和組的命令,其取而代之的是pw命令加上相應參數來實現,在Freebsd上以管理員的身份創建一個用戶的命令是
以下是引用片段:
echo | pw useradd [-g][groupname] [-s][shelldir][-h 0]
參數g指定用戶組,參數s指定用戶的shell。
如果是普通用戶登陸頌凱慧的話還必須用到su命令,調用的方法是
以下是引用片段:
su root _c 『echo | pw useradd [-g][groupname] [-s][shelldir][-h 0] 』
執行之後系統會要求輸入管理員密碼,輸入密碼就可以以管理員的身份野答執行這個命令了。
實現這步操作的主要難點在於如何通過PHP來調用上面這些系統命孫答令去創建一個用戶,本例是使用PHP中的popen()函數來實現的,該函數執行指令打開文件,語法是int popen(string command, string mode),其打開的文件只能是單向的,只能讀或只能寫,對應的「string mode」為』r』或』w』,「string command」 就是命令字元串,在對文件的操作上可使用 fgets()、fgetss()與fputs()函數,本例用fputs()函數往文件裡面輸入管理員密碼。若是開檔發生錯誤將返回 false 值,最後函數要記得調用pclose()關閉。
下面我們來規劃一下FTP用戶的組,事先我們先用pw groupadd ftpuser創建ftpuse組,讓在線申請的用戶為這個組的成員。為了安全起見,我們不應該給FTP用戶Telnet許可權,所以我們還要專門給他們創建一個shell,使得他們不能通過Telnet正常登陸系統,方法如下:先創建一個文件/bin/ftponly
以下是引用片段:
#!/bin/csh
/bin/cat
XX
You can ony use this username to login ftp server!
And you can not use it to telnet to this system! XX
sleep 10
該文件中XX之間就是顯示給用telnet登陸的用戶看的信息。信息顯示10秒鍾就自動退出了。最後不要忘記用chmod +x /bin/ftponly給這個文件可執行屬性。
然後在/bin/shell文件中添加「/bin/ftponly」,在以後的命令裡面我們就可以利用pw中-s參數把這個shell指定給FTP用戶了。
最後還要注意一個問題,su命令僅僅是wheel管理組的用戶成員才可以使用,當PHP調用su命令的時候也必須以wheel組成員的身份運行,否則系統拒絕運行,而PHP運行系統命令的身份就是Apache Web伺服器運行的身份,初始的用戶名和用戶組都是nobody,所以先得建立一個wheel組的用戶www供apache使用,接著更改Apache的配置文件httpd.conf中的user為www,group為wheel,重新啟動Apache,就可以以新用戶身份運行了。
下面可以創建PHP源文件checkin.php了,代碼如下:
以下是引用片段:
?if (($username!="") and ($userpasswd!=""))//判斷是否有表單提交了信息
{ $rootpasswd="adminpassword"; //定義管理員密碼
$creatuser ="su --login root -c 'echo ".$userpasswd." | pw useradd ".$username." -s /bin/ftponly -g ftpuser _s /bin/ftponly -h 0' "; //這是利用su和pw命令創建用戶的用到的字元串
$fp=popen($creatuser,"w"); //調用popen()函數執行字元串中的命令,返迴文句柄給$fp
fputs($fp,$rootpasswd); //寫入管理員密碼到文件$fp,相當於輸入密碼給系統
pclose($fp);//關閉文件
$creatdir="su --login root -c 'mkdir /home/".$username."'";//創建用戶目錄的命令字元串
$fp=popen($creatdir,"w");//執行命令創建用戶目錄
fputs($fp,$rootpasswd); //輸入管理員密碼
pclose($fp);
$creatdir="su --login root -c 'mkdir /home/".$username."/public_html'";
$fp=popen($creatdir,"w"); //執行命令創建用戶網站根目錄
fputs($fp,$rootpasswd); //輸入管理員密碼
pclose($fp);
$creatdir="su --login root -c 'chown ".$username." /home/".$username."'"; //改變用戶目錄的所有者為用戶自己,初始為運行Apache的用戶www。
$fp=popen($creatdir,"w"); //執行命令
fputs($fp,$rootpasswd); //輸入管理員密碼
pclose($fp);
$creatdir="su --login root -c 'chown ".$username." /home/".$username."/public_html'"; //改變網站根目錄的歸屬
$fp=popen($creatdir,"w");
fputs($fp,$rootpasswd);
pclose($fp);
echo "恭喜".$username.",您的的FTP賬號已經申請成功!請到FTP上登陸,請注意,您沒有Telnet許可權";}
else{?
html
head
title申請FTP賬號/title
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/head
body bgcolor="#FFFFFF"
div align="center"
p申請FTP賬號/p
form method=POST action="? echo $PHP_SELF; ?"
table width="36%" border="0"
tr
td width="40%"
div align="right"賬號名稱:/div
/td
td width="60%"
input type="text" name="username"
/td
/tr
tr
td width="40%"
div align="right"密碼:/div
/td
td width="60%"
input type="password" name="userpasswd"
/td
/tr
tr
td colspan="2"input type="submit" name="Submit" value="申請"/td
/tr
/table
/form
/div?}?
/body
/html
『陸』 php中怎樣執行cmd
exec("命令");//記得把路勁寫對
『柒』 怎樣在 VPS 上搭建一個在線 PHP+MySQL 的編輯運行環境
下面讓我們建立MYSQL資料庫
apt-get install mysql-server mysql-client
安裝phpmyadmin
apt-get install phpmyadmin
這時,你會發現直接訪問http://localhost/phpmyadmin無法使用,
這時我們需要建立一個軟連接,執行下面的命令
#sudo ln -s /usr/share/phpmyadmin/ /var/www/
或者你把phpmyadmin直接復制到 /var/www/的文件夾下面也可以
下面介紹一下Debian /Ubuntu Linux中, lighttpd的相關命令
停止lighttpd伺服器
# /etc/init.d/lighttpd stop
重啟lighttpd伺服器
# /etc/init.d/lighttpd restart
啟動lighttpd伺服器
# /etc/init.d/lighttpd start
第二步,Lighttpd與PHP的優化。
這步也是最重要的,關繫到WordPress能否良好的運行在64M內存的VPS上。
修改 /etc/lighttpd/conf-available/10-fastcgi.conf
max-procs = 1
PHP_FCGI_CHILDREN = 2
PHP_FCGI_MAX_REQUESTS = 這個隨意,但是不要為0或者太大
說一下為什麼要這么設置,php-cgi進程數=(max-procs)X(1+PHP_FCGI_CHILDREN),1個php-cgi進程大約佔用19M內存,也就是說64M的內存VPS最好不要超過3個php-cgi進程,剩下的內存要留給MySQL和系統。如果仍然出現500錯誤,可以降低到2個,也就是PHP_FCGI_CHILDREN = 1
其餘優化
/etc/php5/cgi/php.ini 中 memory_limit建議適當減少,只要保證WordPress可以運行即可(WordPress安裝至少需要32MB內存,但運行只需要8MB或者更少)。
/etc/mysql/my.cnf 中相應的參數,請減少到默認值的1/8左右,或者更低。