php文件系統
『壹』 php文件是做什麼用的
PHP,即「PHP: Hypertext Preprocessor」,是一種廣泛用於 Open Source(開放源代碼)的尤其適合 Web 開發並可以嵌入 HTML 的多用途腳本語言。它的語法接近 C,Java 和 Perl,而且容易學習。該語言的主要目標是讓 Web 開發人員快速的書寫動態生成的網頁.
PHP 代碼是運行在服務端的.
它的使用需要你的伺服器安裝php服務.
PHP 能做什麼?
PHP 能做任何事。PHP 主要是用於服務端的腳本程序,因此您可以用 PHP 來完成任何其它的 CGI 程序能夠完成的工作,例如收集表單數據,生成動態網頁,或者發送/接收 Cookies。但 PHP 的功能遠不局限於此。
PHP 腳本主要用於以下三個領域。
服務端腳本。這是 PHP 最傳統,也是最主要的目標領域。開展這項工作您需要具備以下三點:PHP 解析器(CGI 或者伺服器模塊)、WEB 伺服器和 WEB 瀏覽器。您需要在運行 WEB 伺服器時,安裝並配置 PHP,然後,可以用 WEB 瀏覽器來訪問 PHP 程序的輸出,即瀏覽服務端的 PHP 頁面。請查閱「安裝」一章以獲取更多信息。
命令行腳本。您可以編寫一段 PHP 腳本,並且不需要任何伺服器或者瀏覽器來運行它。通過這種方式,您僅僅只需要 PHP 解析器來執行。這種用法對於依賴 cron(Unix 或者 Linux 環境)或者 Task Scheler(Windows 環境)的日常運行的腳本來說是理想的選擇。這些腳本也可以用來處理簡單的文本。請參閱「PHP 的命令行模式」以獲取更多信息。
編寫客戶端的 GUI 應用程序。對於基於窗口式的應用程序來說,PHP 或許不是一種最好的語言,但是如果您非常精通 PHP,並且希望在您的客戶端應用程序中使用 PHP 的一些高級特性,您可以利用 PHP-GTK 來編寫這些程序。用這種方法,您還可以編寫跨平台的應用程序。PHP-GTK 是 PHP 的一個擴展,在通常發布的 PHP 包中並不包含它。如果您對 PHP-GTK 感興趣,請訪問其網站以獲取更多信息。
PHP 能夠用在所有的主流操作系統上,包括 Linux、Unix 的各種變種(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft Windows、Mac OS X、RISC OS 等。今天,PHP已經支持了大多數的 WEB 伺服器,包括 Apache、Microsoft Internet Information Server(IIS)、Personal Web Server(PWS)、Netscape 以及 iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd 等。對於大多數的伺服器,PHP 提供了一個模塊;還有一些 PHP 支持 CGI 標准,使得 PHP 能夠作為 CGI 處理器來工作。
綜上所述,使用 PHP,您可以自由地選擇操作系統和 WEB 伺服器。同時,您還可以在開發時選擇使用面對過程和面對對象,或者兩者混和的方式來開發。盡管 PHP 目前的版本還沒有支持 OOP 所有的標准,但很多代碼倉庫和大型的應用程序(包括 PEAR 庫)僅使用 OOP 代碼來開發。
使用 PHP,您並不局限於輸出 HTML。PHP 還能被用來動態輸出圖像、PDF 文件甚至 Flash 動畫(使用 libswf 和 Ming)。您還能夠非常簡便的輸出文本,例如 XHTML 以及任何其它形式的 XML 文件。PHP 能夠自動生成這些文件,在服務端開辟出一塊動態內容的緩存,可以直接把它們列印出來,或者將它們存儲到文件系統中。
PHP 最強大最顯著的特性之一,是它支持很大范圍的資料庫。您會發現利用 PHP 編寫資料庫支持的網頁簡單得難以置信。目前,PHP 支持如下資料庫:
Adabas D Ingres Oracle (OCI7 and OCI8)
dBase InterBase Ovrimos
Empress FrontBase Postgresql
FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm
我們同時還有一個 DBX 擴展庫使得您可以自由的使用該擴展庫支持的任何資料庫。另外,PHP 還支持 ODBC,即 Open Database Connection Standard(開放資料庫連接標准),因此您可以連接任何其它支持該世界標準的資料庫。
PHP 還支持利用諸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows 環境)等不計其數的協議的服務。您還可以開放原始網路埠,使得任何其它的協議能夠協同工作。PHP 支持和所有 WEB 開發語言之間的 WDDX 復雜數據交換。關於相互連接,PHP 已經支持了對 Java 對象的即時連接,並且可以將他們自由的用作 PHP 對象。您甚至可以用我們的 CORBA 擴展庫來訪問遠程對象。
PHP 具有極其有效的文本處理特性,支持從 POSIX 擴展或者 Perl 正則表達式到 XML 文檔解析。為了解析和訪問 XML 文檔,我們支持了 SAX 和 DOM 標准。您可以使用我們的 XSLT 擴展庫來轉換 XML 文檔。
如果您將 PHP 用於電子商務領域,您會發現其 Cybercash payment、CyberMUT、VeriSign Payflow Pro 以及 CCVS 函數對於您的在線交易程序來所是非常有用的。
參考資料:版權 &; 1997, 1998, 1999, 2000, 2001, 2002, 2003 PHP 文檔小組
『貳』 php執行file_put_contents後生成的文件如何自動下載到本地
file_put_contents只能生成文件在伺服器上,無法讀寫客戶端的文件系統,這是WEB的協議決定了的。
要想把file_put_contents生成在伺服器上的文件發給瀏覽器用戶,只有用下載的辦法:文件生成到WEB可以訪問的路徑,然後使用<a href>建立鏈接讓用戶下載,示例代碼:
file_put_contents('a.txt', $str);
echo '<a href=a.txt>下載文件</a>';
『叄』 php以fastCGI的方式運行時文件系統許可權問題及解決方法
在IIS7.0上以FastCGI方式配置好PHP運行環境,測試可以正常運行PHP程序後,將PHP程序部署上去,導入程序原來的數據和配置信息。很快就有問題出來啦下面我們就詳細記錄下。
今天准備將一個php
demo放在IIS下運行,網站在IIS下的配置是這樣的:
應用程序池是集成模式下的.net
framework
2.0(2.0或4.0沒什麼關系,因為php以fastCGI的方式在跑),
應用程序池標識配置為IIS內置的NETWORKSERVICE,
使用的認證方式為匿名身份驗證。
打開本地的網站,訪問php頁面,
出現了500錯誤。
好吧,是許可權問題,最簡單的解決辦法是把C:的許可權設成Everyone,
並允許完全控制:
重新訪問php頁面,成功了:
上面的方法是夠簡單,但也太不安全了,平時本地搭個demo這樣做沒問題,真正上線的時候,這樣做遲早出問題的。
於是重新設置,把該目錄下的只讀許可權賦給NETWRORKSERVICE帳號再試一下
不過問題還是沒有解決,訪問的時候,出現了401錯誤
錯誤信息中包括顯示登錄用戶為匿名,檢查了網站下的身份驗證(再點擊
匿名身份驗證->編輯),原來網站默認情況下,在登錄方法為匿名時,使用的默認登錄用戶為IUSR(就是我們看到的匿名登錄用戶了)
那麼解決辦法就是:
1.
將IUSR設置為C:的讀許可權,類似之前對NETWORKSERVICE的設置。
2.
或選擇使用應用程序池標識即可。
經試驗,方法1與2都成功。
Note:NETWORKSERVICE在IIS7中隸屬於iis_iusers用戶組,之前對NETWORKSERVICE的設置也可以改為對iis_iusers的設置,同樣也可以解決問題,只是許可權被進一步放寬了而已。
以上所述就是本文的全部內容了,希望大家能夠喜歡。
『肆』 php文件系統問題!
代碼作者還不錯。代碼有譜。
$cpath代表 path文件的復制路徑
$ddir代表destination directory 目標目錄
$filename文件名
復制路徑=目標目錄."/".文件名 , 就形成了文件即將被復制到目的地的全路徑。
每次循環對每個文件形成一個全路徑,才能復制到目的地。
『伍』 如何配置php伺服器
配置php伺服器對於程序員很重要,但很多人都不會.,那麼如何配置php伺服器呢?下面是我收集整理的如何配置php伺服器,希望對大家有幫助~~
配置php伺服器的方法
工具/原料
windows server 2008 和 windows server 2003 伺服器操作系統
fastcgi、php、mysql安裝包
IIS6安裝配置PHP環境
11. 安裝IIS
IIS是windows平台下比較成熟的web服務,安裝方法也非常簡單。
打開“開始”菜單,點擊“管理您的伺服器”(如圖所示),點擊“添加或刪除角色”(如圖所示)。
3Windows server 2008伺服器防火牆配置
1) 在控制面板中打開網路和共享中心
2) 點擊“windows防火牆”彈出防火牆配置窗口,在此窗口中要確認防火牆服務已經開啟
3) 單擊“允許程序或功能通過Windows防火牆”彈出網路服務埠配置窗口,在此窗口中可以選擇允許打開埠並通信的網路服務,單擊“允許運行另一程序”來自定義開啟某一網路服務或埠
4用戶管理
系統中用戶的數量能越少越好,並且每個用戶都被用於特定的功能,如可以新建一個專門用於對網站進行匿名授權的賬戶(如條件允許,可以為每個網站新建一個獨立的賬戶進行分別授權,這些能夠隔離開各網站的授權,提高各網站的安全性,不至於一個網站被入侵後能夠有許可權訪問到其它網站的文件目錄)。另外最重要的一點是要為每個賬戶設置一個獨立且復雜的密碼,防止賬戶密碼被猜解和窮舉。
5文件系統許可權管理
l C盤只給administrators 和system許可權,其他的許可權不給,其他的盤也可以這樣設置,這里給的system許可權也不一定需要給,只是由於某些第三方應用程序是以服務形式啟動的,需要加上這個用戶,否則造成啟動不了。
l Windows目錄要加上給users的默認許可權,否則ASP和ASPX等應用程序就無法運行。其實沒有必要單獨設置Instsrv和temp等目錄許可權。
l 另外在c:/Documents and Settings/這里相當重要,後面的目錄里的許可權根本不會繼承從前的設置,如果僅僅只是設置了C盤給administrators許可權,而在All Users/Application Data目錄下會 出現everyone用戶有完全控制許可權,這樣入侵這可以跳轉到這個目錄,寫入腳本或只文件,再結合其他漏洞來提升許可權;
譬如利用serv-u的本地溢出提升許可權,或系統遺漏有補丁,資料庫的弱點,甚至社會工程學等等N多方法,在用做web/ftp伺服器的系統里,建議是將這些目錄都設置的鎖死。其他每個盤的目錄都按照這樣設置,每個盤都只給adinistrators許可權。
另外,還將:
net.exe
cmd.exe
tftp.exe
netstat.exe
regedit.exe
at.exe
attrib.exe
cacls.exe
format.exe
這些文件都設置只允許administrators訪問。
l 網站的目錄最好獨立到一個磁碟中,新建一個為網站匿名訪問而獨立授權的賬戶,讓此賬戶可以訪問和編輯此目錄,移除其它不必要的賬戶對此目錄的訪問許可權,能有效防止網站被入侵後從而涉及到整個系統被控制
END
日常維護建議
1定期運行安全軟體進行快速掃描
定期運行一下安全軟體,可以看到安全軟體的引擎或病毒庫是否已經更新到了最新版本,如果沒有可以即時查找原因,看是否是安全軟體未運行、升級埠被禁用或其它原因,雖然安全軟體可以在後台即時掃描各種文件操作,以防止病毒入侵,但有些惡意軟體、流氓軟體或插件則不是實時防護的,雖然這些軟體不會造成伺服器宕機,但也會影響伺服器性能。
2定期檢查防火牆埠配置
隨著伺服器上的網路服務越來越多,需要打開的網路埠也越來越多,但有些埠是不需要開放的,例如你安裝了一個資料庫軟體(mysql、oracle等),這些資料庫服務很可能只需要在你伺服器的內部訪問,就完全沒有必要讓其通過防火牆,這樣能夠提高伺服器的安全,伺服器對外提供的埠越少越好;
雖然在安裝網路服務的過程中,防火牆會提示你有網路埠正在打開,是否允許通過防火牆,但有些管理員沒有細心看提示,直接就同意了,造成了大量沒有必要打開的網路埠被打開了,特別是一些木馬或惡意軟體會混水摸魚,偽裝提示信息來誘騙管理員打開網路埠,造成大量的安全隱患。進入防火牆配置界面,選擇相應的埠或網路服務,點擊“詳細信息”則可以看到此項應用的詳細信息,根據這些信息來判斷其是否應該開啟這個埠。
3任務管理器中觀察有無可疑進程,了解系統資源使用情況
任務管理器可以簡單並快速的了解服務系統資源的使用情況,並即時查看系統運行的進程和他們佔用的系統資源,根據伺服器上已開啟的各種應用的服務來判斷哪些進程是非法的,哪些進程佔用的系統資源過多。了解到這些信息後就可以即時的對伺服器進行調整,特別是佔用資源過多的進程進行分析,看是否有什麼異常並即時進行調整。
l 觀察系統進程,並自定義進程屬性
查看網路使用情況
查看系統資源使用情況
檢查IIS,了解網站安裝情況
隨時了解伺服器上網站的安裝狀況,並做以下檢查:
1、看各個網站定義的主機頭是否異常
2、 綁定的域名是否完整
3、 主目錄設置是正確
4、用戶許可權設置是否合理
5、 查看IIS的應用程序池設置是否合理,每個池下面託管的網站是否過多,是否需要設置新的應用池,是否有多餘的應用池可以刪除。
查看系統日誌,仔細檢查錯誤、警告日誌發生的原因,並急時修復相應的問題。
檢查系統用戶,查看有無多餘,可疑用戶賬戶,查看每個賬戶所屬的用戶組,特別是administrators組下面的用戶。伺服器被入侵時會出現一些欺騙性的賬戶並被加入到administrators組中,特別留心新建的多餘賬戶,弄清這些賬戶的用途,如果發現是入侵者建立的賬戶,要即時查找賬戶是被創建的原因,並修復相應的漏洞。
檢查文件系統,確保磁碟被合理分區,各個分區應該有各自的功能,如系統、資料庫、網站、備份等。各個分區的用戶授權是不相同的,如系統、備份等不需要網站的專門授權賬戶訪問,資料庫分區需要對資料庫賬戶進行單獨的授權等。既然規劃好了文件分區和功能,並進行了相應的授權,就要防止文件被亂放,以免造成安全隱患。
還要經常檢查各種新建的文件夾和文件(特別是來歷不明,名稱畸形的隱藏文件夾和文件)這些都有可能是入侵者留下的入侵痕跡。
清除垃圾文件,隨時系統運行時間的增加,會產生很多的臨時文件和日誌文件,佔用寶貴的磁碟資源,如果磁碟的可用空間過小(特別是系統盤)還會影響伺服器性能。
1、臨時文件(安裝程序、系統升級、應用程序等產生的)產生的,主要在系統盤,可以看哪些文件夾的體積異常大,可分析其內部文件,確認是臨時文件後將其刪除
2、 日誌文件,主要是IIS產生的,這些日誌文件對於查看網站運行狀態、訪問歷史很有用,但日誌有時效性,如果超過其三個月就沒有什麼用處了,但它會佔用大量的磁碟空間,所以需要定期將其刪除。
定期檢查磁碟狀態並進行碎片整理,隨著系統運行時間的增長,特別是大量的IO操作後,磁碟上會產生大量的文件碎片,這些碎片過多則會嚴重影響伺服器性能,所以定期(建議一個月)進行磁碟碎片檢查,如果系統提醒需要進行碎片整理,則進行整理。
及時升級操作系統補丁,操作系統有各種大量的補丁,特別是一些重要的安全補丁需要即時升級,這樣會有效防止黑客和病毒入侵。
及時備份重要的文件、應用、資料庫。備份分為本地備份和異地備份,有條件的可以進行異地備份,備份是為了以防萬一,當數據丟失或應用損壞時,備份就是救命稻草,因此合理的備份計劃是非常有必要的。
『陸』 下載的PHP文件如何運行
很多網站為了保密文件在伺服器上的真實地址,都採用一個專門的頁面來處理下載鏈接,這個頁面就是你下載下來的那個php文件,有些迅雷可以解析的,但是有時候迅雷直接把這個php文件下載下來了,這時候,你只需在下載鏈接上點擊右鍵,選「在新窗口中打開鏈接」或者「目標另存為」等就可以下載了。
換句話就是不要用迅雷來下種子,用windows自帶的將種子文件下載下來,再用迅雷打開種子下。
『柒』 PHP寫入文件許可權問題
首先,fopen不是「寫入文件」。
設777是文件系統的用戶許可權。php打開文件,除了受文件系統的限制,還受apache和php本身安全性限制。例如,apache限定了訪問許可權只限於/www,而你要操作/log的話,是不可能的,盡管/log里文件系統設了777。還有,在手冊里fopen里有說「如果激活了
安全模式
或者
open_basedir
則會應用進一步的限制。」希望對你有幫助。
『捌』 PHP寫入文件許可權問題
首先,fopen不是「寫入文件」。 設777是文件系統的用戶許可權。php打開文件,除了受文件系統的限制,還受apache和php本身安全性限制。例如,apache限定了訪問許可權只限於/www,而你要操作/log的話,是不可能的,盡管/log里文件系統設了777。還有,在手冊里fopen里有說「如果激活了 安全模式 或者 open_basedir 則會應用進一步的限制。」希望對你有幫助。