开发者学堂课程【阿里云上搭建 LAMP 环境实战:PHP 项目迁移至新环境中】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/663/detail/11094
PHP 项目迁移至新环境中
内容介绍
一、项目移植
二、问题解决
一、项目移植
1、项目拷贝
把 php 项目拷贝刀网站默认目录下,
/usr/local/apache2/htdocs/**
2、数据库使用
使用 phpMyAdmin 创建网站所需数据库(注意目录权限和归属,防止权限过大或过小,修改配置文件之前一定要备份一个版本)
3、项目安装
从学习猿地的“猿代码”中找到 php 项目下载一个 blog 项目,以“简单的blog项目源码”为例,将其下载到当前目录下,输入 wget ,并粘贴,解析过后输入 clear 回车,输入 unzip 进行解包,ls 回车, ls 回车,接着 clear 回车, ls 回车,输入 cp-a blog /usr/local/apache2/htdocs/ ,cd /usr/local/apache2/htdocs/ 接着 ls 回车, cd 回车,得到此项目的全部文件,将其拷贝到阿帕奇发布项目的目录下。经过验证发现此时直接访问是行不通的,因为有很多的的文件尚未配置。
此时新建一个目录,执行 /blog/public/index.php 我们根据显示的错误进行一步步的修改。
二、问题解决
1、权限的获取
找到安装的文档并执行,输入 ls 回车, clear 回车,再输入 vi readme.md 回车到达安装文档, ql 回车输入 chmod -R 777 storage/回车, chmod -R 777 bootstrap/cache/回车执行, 允许 storage 目录和 bootsstrap/cache 目录 Web 服务器写入,即可运行,可以发现此时错误改变。
2、数据库的创建
在 phpMyAdmin 中创建并命名 blog 打开下载目录并将其解压到当前目录下,用 phpMyAdmin 执行 blog.sql 即可,打开 phpMyAdmin 在数据库里导入,选择文件夹 blog ,导入文件 blog 执行成功后,执行了74个查询,此时执行任然是不可行的,继续观察安装的配置。
3、虚拟主机的创建
返回新建会话,修改 .env 用户名,输入 vi .env 回车,
运行此项目发现没有图片,我们需要创建一个 Apache 虚拟主机,指向
./blog/public ,返回新建会话,输入 vi
/usr/local/apache2/etc/httpd.conf 回车执行,找到 htdocs,前面提到发布网站的目录可以随意更改,
将其指定到 /plog/public/ ,原来的目录保留,将新做的目录指定到目的位置,
回到新建会话输入 /usr/local/apache2/bin/apachectl stop
执行,输入 /usr/local/apache2/bin/apachectl start
执行并刷新
删掉网址中的 /blog/public/ ,执行后图片即可显示。
4、配置文件的修改
文件里也有后台如何登录,在新建会话中输入 vi readme.md 找到后台用户名与密码,但在尝试登录 /admin/login/ 后台时出现错误,
## Web 服务器配置
### Apache
使用 public/.htaccess 文件来为前端控制器提供隐藏了 index.php 的优雅链接。
如果你的 Laravel 使用了 Apache 作为服务器,请务必启用 mod rewrite 模块,让服务器能够支持 .htaccess 文件的解析。
如果 blog 附带的 .htaccess 文件不起作用,就尝试用下面的方法代替:
Options +FollowSymLinks
RewriteEngine On
RewriteCond (REQUEST_FILENAME) !-d
RewriteCond (REQUEST_FILENAME) !-f
RewriteRule index.php (L)
判断为此文件未生效,需更改阿帕奇配置文件使错误文件生效,输入 /usr/local/apache2/etc/httpd.conf 执行,找到新做的指定文本目录下方,将 AllowOverride 后边的 none 改为 All 才可以找到指定目录文件。
此文件才为有效文件。
5、登录
修改完毕重启阿帕奇,输入 /usr/local/apache2/bin/apachectl stop
执行,输入 /usr/local/apache2/bin/apachectl start
执行进入后台管理登陆页面,用户名 admin ,密码123456,输入验证码进入后台管理。