本文操作环境:Raspbian系统,PHP7.3 ,树莓派4B。
树莓派不能安装php怎么办?树莓派安装php失败?
最近在b站学习树莓派 我看的是韩老师的视频发现我安装不了php7.0
经过查询发现现在php已经更新到了7.3了 国内的源当然也进行了更新 所以下载不了老版本 大家在看视频的时候只需要将7.0更换成7.3就行了。
在树莓派4B上安装PHP 7.3 + Nginx + Mariadb
安装PHP 7.3
添加apt源。编辑apt源配置文件:
sudo vi /etc/apt/sources.list.d/raspi.list
在后面加入一行:
deb http://mirrordirector.raspbian.org/raspbian/ buster main contrib non-free rpi
更新软件包列表:
sudo apt update
安装PHP7.3:
sudo apt install -y -t buster php7.3-fpm php7.3-curl php7.3-gd php7.3-intl php7.3-mbstring php7.3-mysql php7.3-imap php7.3-opcache php7.3-sqlite3 php7.3-xml php7.3-xmlrpc php7.3-zip
安装过程中会提示某些服务需要重启,选择Yes即可。
测试是否安装成功:
php -v
如果显示php版本号,则安装成功,如下:
PHP 7.3.2-3 (cli) (built: Feb 8 2019 15:05:54) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.2-3, Copyright (c) 1999-2018, by Zend Technologies
安装Nginx
安装nginx:
sudo apt-get install nginx
安装完成后,网站根目录在/var/www/html, 编辑该目录下的index.nginx-debian.html文件,写入Hello, Nginx!。
测试是否安装成功:打开浏览器输入http://127.0.0.1,能看到刚刚编辑的Hello, Nginx!说明安装成功。或者使用命令行: curl 127.0.0.1 ,也能够输出Hello, Nginx!。
配置Nginx解析PHP
编辑Nginx配置文件sudo vi /etc/nginx/sites-enabled/default, 找到# pass PHP scripts to FastCGI server, 在后面加入以下代码:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
然后在index指令后面加上index.php,修改后文件内容如下:
修改配置后需要重新加载Nginx配置才能生效:
sudo nginx -s reload
测试解析PHP。创建一个文件/var/www/html/index.php,写入php代码:
<?php
echo time();
保存后执行命令curl 127.0.0.1,返回时间戳即说明Nginx成功解析了php。
安装Mariadb数据库
安装数据库:
sudo apt-get install mariadb-server mariadb-client
执行数据库初始化安装:
sudo mysql_secure_installation
根据提示设置root密码等信息。
尝试登录数据库:
mysql -u root -p
输入上一步设置的密码,发现无法登录,错误提示如下:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
原因: 数据库默认使用系统用户登录,需要修改为使用密码登录。
解决方案: sudo mysql -u root ,登入数据库后,依次执行以下代码:
use mysql #切换到mysql数据库
update user set plugin='mysql_native_password'; #修改plugin字段
flush privileges; #刷新权限
exit; #退出数据库
再次使用mysql -u root -p即可通过密码登录数据库,无需root权限执行。