php線上運行
⑴ 學習php可以做什麼發展方向有哪些
PHP能做什麼
PHP 能做任何事,PHP 腳本主要用於以下三個領域:
1、服務端腳本。
這是 PHP 最傳統,也是最主要的目標領域。開展這項工作需要具備以下三點:
A、PHP 解析器(CGI 或者伺服器模塊)、
B、web 伺服器、
C、web 瀏覽器。
需要在運行web伺服器時,安裝並配置PHP,然後,可以用web瀏覽器來訪問PHP程序的輸出,即瀏覽服務端的PHP頁面。
如果只是實驗 PHP 編程,所有的這些都可以運行在自己家裡的電腦中。
2、命令行腳本。
可以編寫一段 PHP 腳本,並且不需要任何伺服器或者瀏覽器來運行它。
通過這種方式,僅僅只需要 PHP 解析器來執行。
這種用法對於依賴cron(Unix或者linux環境)或者Task Scheler(Windows環境)的日常運行的腳本來說是理想的選擇。
這些腳本也可以用來處理簡單的文本。
3、編寫桌面應用程序。
對於有著圖形界面的桌面應用程序來說,PHP 或許不是一種最好的語言,
但是如果用戶非常精通 PHP,並且希望在客戶端應用程序中使用 PHP 的一些高級特性,
可以利用 PHP-GTK 來編寫這些程序。用這種方法,還可以編寫跨平台的應用程序。
PHP-GTK 是 PHP 的一個擴展,在通常發布的 PHP 包中並不包含它。
如果對 PHP-GTK 感興趣,請訪問其網站以獲取更多信息。
PHP還可用於其他更廣泛的領域:
PHP 還支持利用諸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows環境)等不計其數的協議的服務。
還可以開放原始網路埠,使得任何其它的協議能夠協同工作。
PHP 支持和所有 web 開發語言之間的 WDDX 復雜數據交換。
關於相互連接,PHP 已經支持了對 Java 對象的即時連接,並且可以將他們自由的用作 PHP 對象。
甚至可以用我們的 CORBA 擴展庫來訪問遠程對象。
PHP 具有極其有效的文本處理特性,支持從 POSIX 擴展或者 Perl 正則表達式到 XML 文檔解析。
為了解析和訪問 XML 文檔,PHP 4 支持 SAX 和 DOM 標准,也可以使用 XSLT 擴展庫來轉換 XML 文檔。
PHP5基於強健的libxm2標准化了所有的XML擴展,並添加了SimpleXML和XMLReader支持,擴展了其在XML方面的功能。
如果將PHP用於電子商務領域,
會發現其Cybercash支付、CyberMUT、VeriSign Payflow Pro以及MCVE函數對於在線交易程序來說是非常有用的。
另外,還有很多其它有趣的擴展庫。
例如 mnoGoSearch 搜索引擎函數、IRC 網關函數、多種壓縮工具(gzip、bz2)、日歷轉換、翻譯……
php+mysql相結合,可以開發大中型網站,網店等軟體,flex+php+mysql相結合可以開發像開心網這樣的游戲,還有phpgane(游戲),隨著php版本的不斷提高,php涉及領域網站,網游和管理,銷售軟體等開發觸!
⑵ 濡備綍鍦╥is涓閰嶇疆php榪愯岀幆澧冨備綍鍦╥is涓閰嶇疆php榪愯岀幆澧
濡備綍鍦╥is涓嬭繍琛宲hp錛
IIS涓嬭繍琛孭HP鐨勬柟娉:x0dx0a涓銆佸畨瑁匬HP5.3.6x0dx0a1)鍏抽棴闃茬伀澧欙紝灝唒hp5.zip瑙e帇鍒癉:PHPPHPWINDOWS鐩褰昞x0dx0ax0dx0a3)鍒皃hp瀹夎呯洰褰(D:PHPPHPwindows闆嗗悎鍥㈢洰褰曘俓x0dx0ax0dx0a2)鐐瑰嚮鈥滄槧灝勨濋夐」鍗′笂鐨勨滄坊鍔犫濇墦寮鈥滄坊鍔/緙栬緫搴旂敤紼嬪簭鎵╁睍鏄犲皠鈥濆硅瘽妗嗭紝鐐瑰嚮鈥滃彲鎵ц屾枃浠垛濆悗鐨勨滄祻瑙堚濆畾浣岲:PHP鑰孎astCGI鎵ц屾柟寮忔槸浠ュ崟涓綰跨▼鏉ユ墽琛屾搷浣滐紝鎵浠ヤ笉闇瑕佽繘琛岀嚎紼嬬殑瀹夊叏媯鏌ワ紝闄ゅ幓綰跨▼瀹夊叏媯鏌ョ殑闃叉姢鍙嶈屽彲浠ユ彁楂樻墽琛屾晥鐜囷紝鎵浠ワ紝濡傛灉鏄浠FastCGI鏉ユ墽琛孭HP錛屽緩璁閫夋嫨NonThreadSafe鐗堟湰銆
瀹樻柟騫朵笉寤鴻浣犲皢NonThreadSafe搴旂敤浜庣敓浜х幆澧冿紝鎵浠ユ垜浠閫夋嫨ThreadSafe鐗堟湰鐨凱HP鏉ヤ嬌鐢ㄣ
2錛岄厤緗畃hp
瑙e帇鍒版煇涓鐩褰曪紝濡俢:/php345
灝唒hp.ini-development閲嶅懡鍚嶄負php.ini
fastcgi.impersonate=1榛樿や負0錛屽傛灉浣跨敤IIS錛屼綘闇瑕佸紑鍚錛歝gi.fix_pathinfo=1
cgi.force_redirect=0榛樿ゅ紑鍚錛屽傛灉浣犱嬌鐢↖IS錛屽彲浠ュ皢鍏跺叧闂
鍏舵℃寚瀹歟xtension_dir鐩褰曞拰date.timezone鐩褰
extension_dir="C:/php53iis/ext"
date.timezone=Asia/Shanghai
淇鏀筆HP.INI閰嶇疆鏂囦歡涓鐨刢gi.fix_pathinfo=1錛孭HP浼氫慨姝SCRIPT_FILENAME涓虹湡瀹炵殑鏂囦歡鍦板潃錛屽惁鍒橮HP灝嗘棤娉曟壘鍒伴渶瑕佸勭悊鐨凱HP鏂囦歡銆
3錛岄厤緗畁ginx
瑙e帇nginx錛屽俢:/nginx
璁懼畾error.log鐨勫瓨鏀劇洰褰曪紝灝#error_loglogs/error.log;鐨#鍘誨勶紝榛樿error.log鏄瀛樻斁鍦∟ginx瀹夎呯洰褰曚腑logs鐩褰曚笅銆
⑶ 有什麼辦法可以實現php控制多線程運行
php(做為現在的主流開發語言)中實現多線程? 看到這個標題, 你一定以為我瘋了..但是事實上我真的這么做了.
下面是我的一些做法, 已經實驗過. 確實可以的.
我們知道php(做為現在的主流開發語言)本身是不支持多線程的, 但是我們的WEB伺服器是支持多線程的.
也就是說可以同時讓多人一起訪問. 這也是我在php(做為現在的主流開發語言)中實現多線程的基礎.
假設我們現在運行的是a.php(做為現在的主流開發語言)這個文件. 但是我在程序中又請求WEB伺服器運行另一個b.php(做為現在的主流開發語言)
那麼這兩個文件將是同時執行的.
(PS: 一個鏈接請求發送之後, WEB伺服器就會執行它, 而不管客戶端是否已經退出)
有些時候, 我們想運行的不是另一個文件, 而是本文件中的一部分代碼.該怎麼辦呢?
其實可是通過參數來控制a.php(做為現在的主流開發語言)來運行哪一段程序.
下面看一個例子:
//a.php(做為現在的主流開發語言)
php(做為現在的主流開發語言)代碼:--------------------------------------------------------------------------------
<?php(做為現在的主流開發語言)
function runThread()
{
$fp = fsockopen(localhost, 80, $errno, $errmsg);
fputs($fp, "GET /a.php(做為現在的主流開發語言)?act=b "); //這里的第二個參數是HTTP協議中規定的請求頭
//不明白的請看RFC中的定義
fclose($fp);
}
function a()
{
$fp = fopen(result_a.log, w);
fputs($fp, Set in . Date(h:i:s, time()) . (double)microtime() . " ");
fclose($fp);
}
function b()
{
$fp = fopen(result_b.log, w);
fputs($fp, Set in . Date(h:i:s, time()) . (double)microtime() . " ");
⑷ Php cli是守護進程的嗎
php_cli模式簡介
php-cli是php Command Line Interface的簡稱,如同它名字的意思,就是php在命令行運行的介面,區別於在Web伺服器上運行的php環境(php-cgi, isapi等) 也就是說,php不單可以寫前台網頁,它還可以用來寫後台的程序。 PHP的CLI shell腳本適用於所有的PHP優勢,使創建要麼支持腳本或系統甚至與GUI應用程序的服務端!——註:windows和linux下都支持php_cli模式
PHP-cli應用場景:
1.多線程應用
這方面的好處,引用鳥哥的話:
優點:
1. 使用多進程, 子進程結束以後, 內核會負責回收資源
2. 使用多進程,子進程異常退出不會導致整個進程Thread退出. 父進程還有機會重建流程.
3. 一個常駐主進程, 只負責任務分發, 邏輯更清楚.
php的多線程—沒錯就是php多線程應用,雖然大家都普遍認為php沒有多線程(curl屬於模擬多線程而不是真實的),但是在php_cli模式下的php徹底的是屬於多線程。這個時候php屬於linux的一個守護進程。 在本人之前寫過的《PHP多線程批量採集下載美女圖片(續)》的時候在採集程序里雖然使用curl來模擬多線程,但是在瀏覽器執行的時候也是會遇到執行超時或內存abort而導致程序中斷,(要嘗試幾次才可以徹底成功),但是如果在php-cli模式下執行,你就會發現這個程序執行的很快,php多線程執行的優勢被徹底表現出來了.
備注:這種多線程方式不是很成熟,不適合大規模的生成應用,偶爾使用還是可以的
2.定時執行php程序
利用linux的cron方式,那麼這個方式是如何定時執行php程序?請看下文
3.開發桌面程序
你可以做您的Windows或Linux中使用PHP的圖形用戶界面(GUI)應用!所有你需要的是PHP的命令行介面和一包GTK。這將允許建立真正的攜帶型圖形用戶界面應用程序(呵呵,之前只是知道php可以做桌面程序,現在才知道是使用php_cli模式),並且不需要學習別的。
4.編寫PHP的shell腳本
如果你不會bash shell或者Perl等的使用,但是你又需要一些腳本去執行的時候,怎麼辦?這個時候你完全可以使用你熟悉的php編寫shell腳本,這個時候你是不是突然感覺PHP是不是太強大了!—–真正做到一種語言,到處開發!
PHP_CLI使用方法
win下面的執行方法:
假設php.exe 在D:xamppphp在dos命令在可以這個執行:
復制代碼 代碼如下:D:xamppphpphp.exe D:xampphtdocstest.php
就可以執行test.php這個文件了 。這里推薦win平台下xampp集成環境,真正比wamp強大N倍,這個集成包可以直接進入dos模式。
linux下php_cli使用
首先找到你安裝php的路徑,以我為例:
當然實現的方法不止一個,大家可以嘗試其他方法實現!
例外關於php的cli還有很多參數可以加入:具體可以參考:http://php.net/manual/en/features.commandline.php
關於定時執行
cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業,周期性作業,比如備份數據 打開/etc/crontab,添加:
復制代碼 代碼如下:
/usr/bin/php -f /data/htdocs/test.php