PHP實際設置中權限問題小結
發表時間:2023-08-17 來源:明輝站整理相關軟件相關文章人氣:
[摘要]很多朋友在操作PHP的過程中經常碰到權限問題。我在這里就權限問題根據我以往的操作經驗和大家談論一下。 權限錯誤一般是出現在對數據的讀取和存儲的時候發生的。這么一說 首先我們談論一下最常見的系統權...
很多朋友在操作PHP的過程中經常碰到權限問題。我在這里就權限問題根據我以往的操作經驗
和大家談論一下。
權限錯誤一般是出現在對數據的讀取和存儲的時候發生的。這么一說
首先我們談論一下最常見的系統權限的限制
PHP應用最廣泛的系統LINUX/WIN32
我們先說LINUX下的常見錯誤。
當用戶開通了網站后訪問自己的站點 http://mysite/時卻發現無法訪問,提示信息卻是禁止訪問。
Q:為什么我的網站配置完成后卻無法訪問?
A:首先登陸到你的機器(或讓你的管理員登陸到機器)檢查你的WEB目錄是否對待group/other 組用戶有讀的權限。
再次,檢查你的WEB服務器的目錄設置是否為允許瀏覽。修改相應的數據后這個問題多半會解決。
如果上面的操作步驟仍然無法解決你的問題,那請繼續向下看。
如果你的網站中的HTML文件已經可以正常訪問,而有些PHP文件卻在訪問的時候存在權限問題的話,首先很高興的
告訴你,你的WEB服務器是正常的,他的權限是正常的。而你僅僅是在你的PHP文件中出現了問題。比如說你的PHP文件中
使用了類似如下的代碼
<?php
include("pathtofile/file.inc.php");//建議你在調試的時候不要加上@來抑制錯誤的顯示
?>
<?php
$fp=fopen("file.xxx","w");//可以是r,w,r+,a,a+...
if($fp){
fputs($fp,"hi,PHP世界是美好的");
fclose($fp)
}
?>
<?php
mkdir("dirname");
?>
<?php
rename("source","object");
?>
<?php
unlink("file");
?>.....
當然了,上面的代碼你很容易看的明白,其實我想說的例子就是你可能對文件(目錄是個特殊的文件--linux下對目錄的解釋)有操作
比如說,建立,刪除,修改,這時候出現權限問題多半處于文件自身權限問題。在這里我們應該來了解一下另外個知識,
系統權限/FTP權限
什么是系統權限?
什么是FTP權限?
當然了,這里僅僅是按我個人的理解去進行含義說明,并不是書本上的文字定義,你可以通過網上尋的更多的相關定義,不過你只需要
理解他們的意義就行了。
系統權限(注:這里所說的系統是操作系統):是對系統用戶的權限約束系統。
FTP全縣:是對FTP用戶的權限約束系統。
OK,到這里,我大致說了上面這些廢話了,如果你的FTP用戶就是你系統中的用戶,你只需要對這些目錄通過系統內權限分配就已經可
以解決問題了。如果你的FTP系統使用的是自身的用戶系統,那請繼續向下看
我們知道,系統將一個區域分配給了FTP服務,FTP服務對這個區域有一定的權限操作,FTP服務又增加了自己的用戶管理,因此在系統
權限的約束下,FTP服務進行了第二次權限分配。同樣采用了LINUX下的權限表示法。到這里你應該有這樣的問題了
Q:為什么我的系統權限是正常的但我仍然被告之權限問題呢?
A:在系統權限的約束下您的FTP可能有自己的用戶管理體系,因此你現在應該使用FTP客戶端登陸到你的FTP主機,對文件進行權限操作。
具體的操作步驟很多ISP的幫助頁內都有說明,這里就不多說了。
看了上面的內容后你的文件權限問題應該有90%都可以解決了吧。如果你屬于那10%的歡迎和我討論~
另:對于WIN32系統下的用戶,如果你的分區是NTFS格式的話可以參照上面的,如果你是非NTFS的可以參照FTP權限
數據的存儲不光是直接對文件的操作,還包括了數據庫,數據流
數據庫:
這里我們就以PHP結合最多的MYSQL進行舉例吧,MYSQL擁有自己的權限系統,因此一個好的DBA總是會合理的分配權限給數據庫用戶,
數據庫權限問題多半集中在以下幾點:
1、連接主機被拒
2、連接賬戶匹配錯誤
3、連接賬戶權限不足
4、連接賬戶操作了不具備權限的數據庫(此問題同3其實就是賬戶全縣不足)
數據流:
PHP的數據流多半就是對網絡操作的一些函數了,如果這些函數出現錯誤多半是對方服務器的設置導致無法獲取數據導致。這個時候
您應考慮的是從你的程序出發修改代碼(除非你可以操作你的目標主機)
作者:sports98 <MSN:flyruns@hotmail.com>
(就算對我打這些字的鼓勵吧,保留這些)
好長時間沒寫東西了,自己是不是在落后...哎,看到人家那些編寫PHP擴展庫的老是覺得自己落后了,寫些東西留大家備查。