【问题标题】:php file not accessible at client side when same file uploading on server through FTP当通过FTP在服务器上上传相同的文件时,客户端无法访问php文件
【发布时间】:2017-09-23 06:24:55
【问题描述】:

我在本地和服务器中有一堆 .php 文件。那些在客户端(移动应用程序)用作 Web 服务的所有文件。但是,当那些文件/文件夹经过修改后通过 FTP 上传到服务器时,由于文件上传过程正在进行,一些 Web 服务停止工作或在客户端出现异常(在 Web 服务响应中返回 HTML 内容)。

当我的本地网络速度较慢并尝试在服务器上上传文件时,有时也会遇到单个文件的问题。

我有很多在线用户,从服务器端上传文件时很少遇到这个问题。

AWS serverFileZilla 用于FTP

【问题讨论】:

    标签: php server ftp filezilla


    【解决方案1】:

    您面临一个典型的非原子操作问题。解决方案是使操作原子化,也就是说,将所有文件更改为一个。

    为此,您将所有文件都放在一个目录中,可能是您的htdocs 目录。接下来,将此目录重命名为htdocs1 并创建一个新目录htdocs2。最后,您创建一个符号链接htdocs 指向htdocs1

    现在,您可以将所有新文件上传到htdocs2。完成后,将符号链接更改为指向 htdocs2 而不是 htdocs1

    最后,如果您使用一些 PHP 加速器,您可能需要重新加载网络服务器(或 PHP-FPM)以防遇到缓存问题。

    对于您的网站的下一次更新,您也可以这样做,只需上传到htdocs1,然后将符号链接改回它。

    简而言之:

    mv htdocs htdocs1
    mkdir htdocs2
    ln -sTf htdocs1 htdocs
    

    如果要使用其他目录,只需调整最后一条命令即可。

    如果您没有 shell 访问权限,您也可以编写一个 PHP 脚本来为您执行此操作,因为 PHP 还可以创建符号链接:http://php.net/manual/en/function.symlink.php

    【讨论】:

      猜你喜欢
      • 2010-12-26
      • 1970-01-01
      • 2020-04-04
      • 2022-11-11
      • 2014-08-04
      • 1970-01-01
      • 2011-09-24
      • 2012-03-20
      • 1970-01-01
      相关资源
      最近更新 更多