PHP文件在Ubuntu如何共享
作者:小确幸
时间:2026-07-03
浏览:0
PHP文件在Ubuntu中可通过Web服务器、Samba、NFS或FTP/SFTP共享。Web服务器对外发布最常用;Samba适合跨平台协作;NFS用于Linux间高效共享;FTP/SFTP适用于传统分发或临时场景。需注意权限、防火墙、版本路径及日志定位等安全要点。
在实际运维和开发工作中,PHP 文件的共享是个很常见但又容易被忽视的环节——不同场景下,选择合适的方式能省下不少折腾。下面梳理几种主流方案,从最直接的 Web 发布到跨平台协作,再到传统的文件传输,先做一个整体印象,再逐个深入。

- 通过 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:
- 基本配置
- 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 版本调整)
- Apache:启用模块与默认站点,将 PHP 文件放入
- 权限与测试
- 权限:
sudo chown -R www-data:www-data /var/www/html;文件 644、目录 755 - 重启服务:
sudo systemctl restart apache2或sudo systemctl restart nginx - 防火墙:
sudo ufw allow 'Nginx Full'(如启用 UFW)
- 权限:
- 适用场景:对外提供网站/接口访问,简单可靠,生产最常用
方式二 通过 Samba 在局域网共享
当团队里有 Windows 或 macOS 开发机,需要直接在本地目录里编辑 PHP 源码,Samba 是个老朋友。配置一次,后续就像访问本地文件夹一样。
- 安装与基础配置
- 安装:
sudo apt install samba - 编辑
/etc/samba/smb.conf,示例:[global]中设置:workgroup = WORKGROUP;security = user;map to guest = bad user- 共享段:
path = /srv/php;read only = no;browsable = yes;valid 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
- 建议将共享目录属主设为 www-data(Web 可读):
- 适用场景:多台 Linux/容器 之间共享代码或上传目录,性能与一致性较好
方式四 通过 FTP/SFTP 分发 PHP 文件
有些老旧环境或者临时协作场景下,FTP 依然活跃。而 SFTP 基于 SSH,免去额外服务,安全且易于管理。
- FTP(以 vsftpd 为例)
- 安装:
sudo apt install vsftpd - 配置
/etc/vsftpd.conf:local_enable=YES;write_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 动态端口,或固定端口后放行)
- Web:
- 版本与路径
- PHP-FPM 套接字路径随版本变化(如 php7.4-fpm.sock、php8.1-fpm.sock),配置前用
php -v与ls /var/run/php/确认
- PHP-FPM 套接字路径随版本变化(如 php7.4-fpm.sock、php8.1-fpm.sock),配置前用
- 日志定位
- Web:
/var/log/apache2/error.log或/var/log/nginx/error.log - Samba:
/var/log/samba/log.* - NFS:
/var/log/syslog(exportfs -v可查看导出表)
- Web:
- 容器与跨主机权限
- 使用 Docker 时,挂载卷的 UID/GID 映射可能导致宿主机与容器内所有者不一致,必要时在容器内显式 chown/chmod,或使用通用低权限账户(如 nobody)统一所有权,避免写入失败
作者最新文章
Photoshop抠图教程详细步骤图解:新手入门常用方法与技巧
2026-09-22 14:38
Windows 10
2026-09-16 17:44
Python安装后怎么打开:使用IDLE或命令行启动解释器
2026-09-16 13:54
Windows系统Python安装教程:下载、勾选PATH及环境变量配置
2026-09-16 13:53
“等灯不计时”落地解析:算法善意如何转化为技术能力与生态协同
2026-09-08 18:03
上一篇:
PHP脚本在Ubuntu如何执行
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































