【问题标题】:Dreamhost site doesnot support fopen functionalityDreamhost 网站不支持 fopen 功能
【发布时间】:2015-10-09 18:14:42
【问题描述】:

实际上我想将 zip 文件发送到保管箱。但是当我尝试使用 fopen 打开我的文件时,就会出现这个问题。 fopen(www.cloud01.wptemplate.net_09_10_2015_16_1444437876.zip):打开流失败:/home/cle1296/cloud01.wptemplate.net/wp-content/plugins/wp-cloud-safe/中没有这样的文件或目录包括/UltimateBackup.php 第 830 行。 我的服务器是dreamhost。我在另一台服务器上执行相同的代码,没有遇到任何问题。似乎dreamhost禁用了fopen功能。所以请给我一个替代方法

 function sendToDropbox() {

    try {

        $this->log('Sending file to DropBox');
       $dbxClient = new dbx\Client($this->dropboxGeneratedAccessToken, "PHP-Example/1.0");


        $f = fopen($this->backupFilename, "r+");


        $dbxClient->uploadFile($this->dropboxUploadPath . $this->backupFilename, dbx\WriteMode::add(), $f);

    } catch (Exception $e) {



        $this->log('ERROR while uploading file to DropBox');

    }

}

【问题讨论】:

  • 我也使用 DreamHost,我可以向您保证,不存在 “我的虚拟主机必须禁用 X 功能,因为我遇到了错误”。再次查看您的错误消息。
  • 正如艾伦所说,功能确实有效。问题是文件不存在。
  • 我尝试了很多,但对这个问题感到震惊。如果这不是 DreamHost 问题,那么为什么我的脚本在另一台服务器上运行良好..我将感谢您的帮助
  • @viktor77.我向你保证文件存在。 :)
  • 执行此操作,然后:实现this answer 中描述的功能并将其部署到您的虚拟主机(将'exec' 更改为'fopen'),然后执行它。如果它返回true,则它已启用。如果false,则禁用(注意ini_get() 也可以禁用以防止内部配置嗅探)。

标签: php wordpress


【解决方案1】:

文件的路径显然不正确,要么是因为文件不存在,要么只是您传递给fopen() 的内容不是备份的实际位置。使用文件的完整路径来绝对确定,例如,如果您的备份位于:

/home/cle1296/cloud01.wptemplate.net/my_backups/backup.zip

...然后确保将其传递给您的fopen(),您应该不会有任何问题。

【讨论】:

  • 现在我按照你说的更改文件路径。但它再次给了我同样的错误。这是我的代码。 $f = fopen("/home/cle1296/cloud01.wptemplate.net/wp-content/plugins/wp-cloud-safe/lib/testing.zip", "r+");
  • 如果您 100% 确定路径 100% 有效,那么可能备份文件的权限太严格了。使用 FTP 或 SSH 将其权限更改为 755 并再次检查...
猜你喜欢
  • 2019-02-05
  • 2010-12-01
  • 1970-01-01
  • 2013-10-12
  • 2011-02-20
  • 1970-01-01
  • 2012-08-04
  • 2012-04-18
  • 1970-01-01
相关资源
最近更新 更多