Warning:DocumentRoot 錯誤解決方法
安裝時考慮到安全,準備將DocumentRoot單獨放置在一個分區裡,所以在邏輯分區專門為它建了一個目錄為:/Dmnr
為了掛載該分區設/etc/fstab為:
代碼:…
LABEL=/Dmnr /Dmnr ext3 defaults 1 2
目錄建好後將網站內容拷入該目錄下的www/html,並修改/etc/httpd/conf/httpd.conf如下:
[php]
…
DocumentRoot “/Dmnr/www/html”
…
…
[/php]
重起Apache出現如下錯誤提示:
程式碼:#service httpd restart
Starting httpd: Warning: DocumentRoot [/Dmnr/www/html] does not exist
[ OK ]
當然伺服器不會正常工作,Apache認為這個不是目錄!但是將DocumentRoot 「」對準其它目錄則沒有問題,伺服器可以正常工作。
解決:
一. SELinux 的配置( 略… ),可以參考:
http://www.chinalinuxpub.com/read.php?wid=1010
http://blog.josesun.org/archives/2004_08/2
二. 修改 html 目錄權限:
1. 檢查網站內容目錄
[php]
#ls -Z /Dmnr/www/html
[/php]
狀態為:
[php]
-rwxr-xr-x someuser somegroup index.php
…
[/php]
2. 顯然沒有 SELinux 權限,所以做以下修改:
[php]
chcon -R -t httpd_user_content_t /Dmnr/www/html
[/php]
再看就是這樣:
[php]
-rwxr-xr-x someuser somegroup user_u:object_r:httpd_sys_content_t index.php
…
[/php]
重啟 httpd 一般的 php 就可以工作了。
三. 資料庫
1. Mysql
但是當讀寫資料庫時還會被 SELinux 拒絕,到 /var/lib/mysql 或 /var/lib/pgsql 下看沒有問題,權限是這樣的:
[php]
-rw-rw—- mysql mysql root:object_r:mysqld_db_t ibdata1
-rw-rw—- mysql mysql root:object_r:mysqld_db_t ib_logfile0
-rw-rw—- mysql mysql root:object_r:mysqld_db_t ib_logfile1
drwx—— mysql mysql root:object_r:mysqld_db_t mysql
srwxrwxrwx mysql mysql root:object_r:mysqld_var_run_t mysql.sock
drwx—— mysql mysql root:object_r:mysqld_db_t test
[/php]
但是到放了資料的 test 庫底下看就知道自建的表還是沒有 SELinux 權限,沒關係,修改就是了:
[php]
chcon -R -t mysqld_db_t /var/lib/mysql
[/php]
注意!此處的 SELinux 屬性是 mysqld_db_t
2. pgsql
我還開了 PostgreSQL 的函式庫,用此方法修改屬性沒有成功,報錯:
[php]
chcon: can’t apply partial context to unlabeled file pgsql/data/base/23456
chcon: can’t apply partial context to unlabeled file pgsql/data/base/12345
[/php]
到 /var/lib/pgsql/data/base 下看,原來是自建庫 12345 和 23456 不能套用屬性。找資料找的亂七八糟,半天也沒頭緒,算了!
[php]
#su - postgres

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP用於構建動態網站,其核心功能包括:1.生成動態內容,通過與數據庫對接實時生成網頁;2.處理用戶交互和表單提交,驗證輸入並響應操作;3.管理會話和用戶認證,提供個性化體驗;4.優化性能和遵循最佳實踐,提升網站效率和安全性。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP在數據庫操作和服務器端邏輯處理中使用MySQLi和PDO擴展進行數據庫交互,並通過會話管理等功能處理服務器端邏輯。 1)使用MySQLi或PDO連接數據庫,執行SQL查詢。 2)通過會話管理等功能處理HTTP請求和用戶狀態。 3)使用事務確保數據庫操作的原子性。 4)防止SQL注入,使用異常處理和關閉連接來調試。 5)通過索引和緩存優化性能,編寫可讀性高的代碼並進行錯誤處理。

PHP的核心優勢包括易於學習、強大的web開發支持、豐富的庫和框架、高性能和可擴展性、跨平台兼容性以及成本效益高。 1)易於學習和使用,適合初學者;2)與web服務器集成好,支持多種數據庫;3)擁有如Laravel等強大框架;4)通過優化可實現高性能;5)支持多種操作系統;6)開源,降低開發成本。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限
