2013-02-05 34 views
0
-rw-r--r-- 1 root  root  514 Jan 15 04:03 curl.php 
-rw-r----- 1 root  root  1344 Feb 5 02:09 dbm-config.ini 
-rw-r--r-- 1 root  root  5149 Feb 5 02:19 mysql-connectivity-status.php 

這裏訪問URL從一個文件,上午訪問來自URL文件「mysql的連接性,status.php」像
http://<ip>/html/DB-Monitoring/mysql-connectivity-status.php如何使用curl

mysql-connectivity-status.php我打電話給文件dbm-config.ini。通過URL訪問時,我得到以下警告。

Warning: parse_ini_file(/var/www/html/DB-Monitoring/dbm-config.ini): failed to open stream: Permission denied in /var/www/html/DB-Monitoring/mysql-connectivity-status.php on line 113 

所以,我不想更改dbm-config.ini許可但如何我訪問使用URL文件?

+0

您碰巧知道您是否在服務器上運行SuPHP或PHPExec?你應該能夠通過phpinfo()找到。我可能只是將文件的權限更改爲644,然後通過htaccess阻止對文件的直接訪問,以便PHP仍可以訪問它。 [這可能有所幫助](http://stackoverflow.com/questions/1340001/deny-direct-access-to-all-php-files-except-index-php) – djthoms

回答

2

-rw-R ----- 1個根1344 2月5日02:09 DBM-的config.ini

該文件可以被讀出和寫入,由用戶根rw-從該組根r--

如果您訪問使用curl php文件,就執行最有可能與您的網絡服務器用戶和組的成員閱讀這是不root:root

這就是爲什麼PHP無法讀取Ť他ini文件。 我建議將文件移到您的文檔根目錄,因此它不能直接通過web訪問,那麼所有者更改爲你的服務器的用戶和組

確定用戶名PHP與

ps aux | grep "httpd" # apache environment 
ps aux | grep "php" # php fastcgi environment 

chown user:group dbm-config.ini 
執行
1

問題是您的網絡服務器無法訪問該文件。如果您無法解決問題,則無法通過該Web服務器遠程訪問它。 :)

胡亂猜測,因爲我不知道你使用的是什麼:

chown root:apache dbm-config.ini 
chmod g+r dbm-config.ini 

可能的幫助。這會將該文件的擁有組設置爲apache並授予該組的讀取權限。如果你的web服務器是apache,並且這是正確的組,它可能會有所幫助。