今天在協助一個朋友配置一台伺服器時發現網站配置好了緩衝目錄讀寫不成功,在開啟錯誤時發現提示 Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(../license.php) is not within the allowed path(s): 錯誤了,下面一起來看此問題解決辦法
先來看設定檔
$cache = new Cache(43200,'D:/wwwroot/cache/tmp/anzhuo/');//參數1 秒,參數2內容
$page = intval(isset($_GET['page'])?$_GET['page']:1);
$key = 'anzhuo_data_4'.$page;
$values = $cache->display($key);
這個是產生快取檔案了,但是發現產生是提示
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(../license.php) is not within the allowed path(s):
問題是出現在了PHP.INI上面了
原因是php.ini裡設定了
open_basedir=/var/web/w0895/:/tmp:/usr/lib/php
這裡加上相關的目錄就可以了
解答:
其實open_basedir 這個是用來限制php的目錄存取權限什麼的,如果不在允許的範圍內,php就不能訪問。
這個 open_basedir 在 php.ini 裡可以設定,也可以在 apache的httpd.conf 裡面設定
例如:
php_admin_value open_basedir "D:/wwwroot/cache/tmp/anzhuo/"
再比如:
php_admin_value open_basedir =/var/web/w0895/:/tmp:/usr/lib/php
好了再重啟apache問題解決了。
以上就介紹了php錯誤提示 open_basedir restriction in effect 解決,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。