2013-07-09 107 views
2

我試圖運行。php副本()在同一臺服務器上的不同域

<?php 
    error_reporting(E_ALL); 
    copy(
     '/var/www/vhosts/domain1.com/httpdocs/new/uploads/orderform_artwork_files/0900716d2ffdcb8.png', 
     '/var/www/vhosts/domain2.com/httpdocs/new/uploads/orderform_artwork_files/0900716d2ffdcb8.png' 
    ); 

這是一個大圖的一部分,我必須克隆一個域的數據到其他服務器是相同的。

問題是,它沒有複製文件,也沒有錯誤。

編輯

這裏是我得到

Warning: copy() [function.copy]: open_basedir restriction in effect. File(/var/www/vhosts/domain2.com/httpdocs/new/uploads/orderform_artwork_files/2e68a7b645a91d9.xls) is not within the allowed path(s): (/var/www/vhosts/domain1.com/httpdocs/:/tmp/) in /var/www/vhosts/domain1.com/httpdocs/new/cron/cloneToCCS.php5 on line 155 
+5

這很可能與權限或開放basedir限制有關。你可以在腳本的頂部放置ini_set('display_errors',1);'也許你會得到一些輸出? –

+0

是的,它顯示了你提到的同樣的錯誤'警告:copy()[function.copy]:open_basedir限制有效。「有沒有解決這個問題? MySQL能夠將數據插入到其他數據庫中 –

+0

您使用的是Plesk嗎? –

回答

2

嘗試編輯工作的/var/www/vhosts/domain1.com/conf/vhost.conf文件警告消息。如果它不存在,請創建它。然後添加以下行:

php_admin_value open_basedir "/var/www/vhosts/domain1.com/httpdocs:/var/www/vhosts/domain2.com/httpdocs" 

保存文件,然後在命令行運行此命令假設你有權限的重新加載你的Apache配置:

/usr/local/psa/admin/sbin/websrvmng -u --vhost-name=domain1.com 
+0

嗯,我試了幾次你的方法,幾次與一些額外的調整,但仍然沒有 –

相關問題