商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > PHP文件在Ubuntu如何共享

PHP文件在Ubuntu如何共享

  发布于2026-07-03 阅读(0)

扫一扫,手机访问

在实际运维和开发工作中,PHP 文件的共享是个很常见但又容易被忽视的环节——不同场景下,选择合适的方式能省下不少折腾。下面梳理几种主流方案,从最直接的 Web 发布到跨平台协作,再到传统的文件传输,先做一个整体印象,再逐个深入。

PHP文件在Ubuntu如何共享

  • 通过 Web 服务器对外发布(最简单、直接)
  • 通过 Samba 在局域网与 Windows/macOS 共享
  • 通过 NFS 在 Linux 服务器/工作站 间共享
  • 通过 FTP/SFTP 进行文件分发与协作

方式一 通过 Web 服务器对外发布

如果你只是想跑一个 PHP 页面或 API,让外部浏览器能访问到,这是最直接的办法。装好 Web 服务器和 PHP 模块就行。

  • 安装组件
    • 使用 Apache:sudo apt update && sudo apt install apache2 php libapache2-mod-php
    • 使用 Nginx + PHP-FPM:sudo apt update && sudo apt install nginx php-fpm
  • 基本配置
    • Apache:启用模块与默认站点,将 PHP 文件放入 /var/www/html,访问 http://服务器IP/文件名.php
    • Nginx:在站点配置中处理 PHP,示例:
      • root /var/www/html; index index.php;
      • location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; }(按实际 PHP 版本调整)
  • 权限与测试
    • 权限:sudo chown -R www-data:www-data /var/www/html;文件 644、目录 755
    • 重启服务:sudo systemctl restart apache2sudo systemctl restart nginx
    • 防火墙:sudo ufw allow 'Nginx Full'(如启用 UFW)
  • 适用场景:对外提供网站/接口访问,简单可靠,生产最常用

方式二 通过 Samba 在局域网共享

当团队里有 Windows 或 macOS 开发机,需要直接在本地目录里编辑 PHP 源码,Samba 是个老朋友。配置一次,后续就像访问本地文件夹一样。

  • 安装与基础配置
    • 安装:sudo apt install samba
    • 编辑 /etc/samba/smb.conf,示例:
      • [global] 中设置:workgroup = WORKGROUPsecurity = usermap to guest = bad user
      • 共享段:path = /srv/phpread only = nobrowsable = yesvalid users = alice
  • 创建共享目录与用户
    • sudo mkdir -p /srv/php && sudo chown -R alice:alice /srv/php
    • 设置 Samba 用户:sudo smbpasswd -a alice
  • 启动与防火墙
    • sudo systemctl start smbd && sudo systemctl enable smbd
    • UFW:sudo ufw allow samba
  • 访问方式
  • 适用场景:与 Windows 客户端共享 PHP 源码/资源,便于多人协作编辑

方式三 通过 NFS 在 Linux 间共享

如果你的环境是纯 Linux 服务器集群,或者需要在多台主机之间挂载同一个代码目录,NFS 性能更优,也更符合 Unix 传统。

  • 服务端
    • 安装:sudo apt install nfs-kernel-server
    • 配置 /etc/exports/srv/nfs/php *(rw,sync,no_subtree_check)
    • 生效与启动:sudo exportfs -arv && sudo systemctl restart nfs-kernel-server
  • 客户端
    • 安装:sudo apt install nfs-common
    • 挂载:sudo mount -t nfs 服务器IP:/srv/nfs/php /mnt/nfs
  • 权限建议
    • 建议将共享目录属主设为 www-data(Web 可读):sudo chown -R www-data:www-data /srv/nfs/php
  • 适用场景:多台 Linux/容器 之间共享代码或上传目录,性能与一致性较好

方式四 通过 FTP/SFTP 分发 PHP 文件

有些老旧环境或者临时协作场景下,FTP 依然活跃。而 SFTP 基于 SSH,免去额外服务,安全且易于管理。

  • FTP(以 vsftpd 为例)
    • 安装:sudo apt install vsftpd
    • 配置 /etc/vsftpd.conflocal_enable=YESwrite_enable=YES(可按需开启匿名或虚拟用户)
    • 启动:sudo systemctl start vsftpd && sudo systemctl enable vsftpd
  • SFTP(基于 SSH,系统自带)
    • 使用系统用户登录:sftp user@服务器IP,上传至 /var/www/html 或其他目录
  • 适用场景:传统文件分发、外部协作方交付,或无法部署 Web/NFS/Samba 的环境

安全与排错要点

不管用哪种方式,安全底线不能丢。尤其在多用户或生产环境里,权限和防火墙的细节容易坑人。

  • 最小权限:Web 目录建议 755/644,属主 www-data;Samba/NFS 共享按需细化到用户/组
  • 防火墙与端口
    • Web:sudo ufw allow 'Nginx Full'(80/443)
    • Samba:sudo ufw allow samba
    • NFS:放行 111/TCP/UDP 与 2049/TCP(以及 rpc.mountd/rpc.statd 动态端口,或固定端口后放行)
  • 版本与路径
    • PHP-FPM 套接字路径随版本变化(如 php7.4-fpm.sock、php8.1-fpm.sock),配置前用 php -vls /var/run/php/ 确认
  • 日志定位
    • Web:/var/log/apache2/error.log/var/log/nginx/error.log
    • Samba:/var/log/samba/log.*
    • NFS:/var/log/syslogexportfs -v 可查看导出表)
  • 容器与跨主机权限
    • 使用 Docker 时,挂载卷的 UID/GID 映射可能导致宿主机与容器内所有者不一致,必要时在容器内显式 chown/chmod,或使用通用低权限账户(如 nobody)统一所有权,避免写入失败
本文转载于:https://www.yisu.com/ask/70315459.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注