树莓派作为低成本的小型计算设备,非常适合用来部署轻量级的php程序,比如个人博客、小型管理后台或者内网测试服务。要在树莓派上成功运行php程序,需要先完成运行环境的配置,再将程序部署到对应目录并做相关设置。

前期准备
首先需要确保树莓派已经安装好官方操作系统,并且可以正常联网。如果是新安装的树莓派系统,建议先执行系统更新,避免后续安装软件时出现依赖问题。更新命令如下:
# 更新软件源列表 sudo apt update # 升级已安装的软件包 sudo apt upgrade -y
安装php运行环境
树莓派官方的软件源中已经包含了php相关的安装包,我们可以直接通过apt命令安装php核心程序以及常用的扩展,同时需要安装web服务器,这里选择轻量的nginx作为示例。
安装nginx和php
执行以下命令安装nginx和php相关组件:
# 安装nginx sudo apt install nginx -y # 安装php核心以及常用扩展 sudo apt install php php-fpm php-mysql php-curl php-gd php-mbstring -y
安装完成后可以通过命令查看php版本,确认安装成功:
php -v
配置nginx支持php
默认情况下nginx不会处理php文件,需要修改nginx的站点配置文件,让nginx把php请求转发给php-fpm处理。首先打开默认的站点配置文件:
sudo nano /etc/nginx/sites-available/default
找到配置文件中处理php的部分,取消注释并修改为如下内容:
location ~ .php$ {
include snippets/fastcgi-php.conf;
# 注意php-fpm的sock路径,不同版本可能略有差异,可通过ls /run/php/查看实际路径
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
修改完成后保存退出,然后测试nginx配置是否有误,再重启相关服务:
# 测试nginx配置 sudo nginx -t # 重启nginx服务 sudo systemctl restart nginx # 重启php-fpm服务 sudo systemctl restart php8.2-fpm
部署php程序
nginx默认的网站根目录是/var/www/html,我们可以直接把php程序放到这个目录下,也可以自定义新的站点目录。这里以默认的目录为例,部署一个简单的测试程序。
首先创建一个测试php文件:
sudo nano /var/www/html/test.php
在文件中写入以下内容:
<?php // 输出php环境信息 phpinfo(); ?>
如果是部署自己开发的php项目,只需要把项目的所有文件上传到/var/www/html目录下即可,如果是压缩包可以先解压再移动文件。如果是通过scp上传文件,命令示例如下:
# 把本地项目压缩包上传到树莓派的家目录 scp /local/path/your_project.zip pi@192.168.0.1:/home/pi/ # 在树莓派上解压并移动到网站根目录 cd /home/pi unzip your_project.zip sudo mv your_project/* /var/www/html/
验证部署结果
部署完成后,在同一局域网的电脑上打开浏览器,输入树莓派的IP地址加上测试文件名,比如http://192.168.0.1/test.php,如果能看到php的环境信息页面,说明php运行环境配置成功,程序也已经正常部署。如果是自己的项目,访问对应的入口文件即可测试功能是否正常。
常见问题处理
- 如果访问php文件出现下载提示,说明nginx没有正确把php请求转发给php-fpm,需要检查nginx配置文件中的php处理部分是否正确,以及php-fpm服务是否正常运行。
- 如果程序需要连接数据库,需要先安装mysql或者mariadb,然后创建对应的数据库和用户,再修改程序的数据库配置。
- 如果树莓派需要外网访问,需要做端口映射,同时建议配置防火墙规则,只开放必要的端口。
注意:树莓派的性能有限,不建议部署访问量过大的php程序,适合个人使用或者小范围的测试场景。