PHP 项目迁移至新环境中 | 学习笔记

简介: 快速学习 PHP 项目迁移至新环境中

开发者学堂课程【阿里云上搭建 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 才可以找到指定目录文件。

image.png

此文件才为有效文件。

5、登录

修改完毕重启阿帕奇,输入 /usr/local/apache2/bin/apachectl stop 执行,输入 /usr/local/apache2/bin/apachectl start 执行进入后台管理登陆页面,用户名 admin ,密码123456,输入验证码进入后台管理。

相关文章
|
3月前
|
Web App开发 安全 PHP
刚上线的PHP项目被攻击了怎么办
近期因忙于多个项目,代码质量有所疏忽,导致项目上线后遭攻击。攻击者通过文件上传漏洞和测试登录方式入侵,修改了 index.php 并植入恶意文件。经排查,问题源于未限制上传文件类型及未关闭测试登录配置。修复措施包括锁定文件、限制上传后缀、关闭测试登录、删除高危用户并限制其访问。此次事件提醒我们,细节疏漏可能引发严重风险,需时刻保持警惕。
|
3月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
5月前
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
202 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
5月前
|
存储 缓存 安全
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
222 2
|
5月前
|
PHP
Composer在PHP项目中的手动类自动加载策略
为了确保文件名和类名的一致性及其可预测性,类名通常应该与文件名相匹配,所有的类都应属于一个命名空间,并且目录结构应该反映命名空间的结构。如此一来,当新的类被创建时,它们会自动遵守已有的约定,从而无需修改自动加载逻辑,确保了代码的模块化和可管理性。
70 8
|
9月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
517 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
6月前
|
安全 API PHP
Composer在现代PHP项目中的进阶实践
简介:本文深入探讨PHP依赖管理工具Composer的核心功能与企业实践。首先介绍其如何通过`composer.json`实现声明式依赖管理,变革PHP生态;接着解析自动加载优化、版本策略(如`~`和`^`)及私有仓库集成等关键特性;然后分享CI/CD集成、多环境配置与性能优化技巧(如阿里云镜像加速)的企业级方案;最后提供常见问题排查方法,如内存不足和依赖冲突解决,助力开发者高效管理项目依赖。
162 3
|
8月前
|
关系型数据库 MySQL PHP
利用PhpStorm、phpstudy和xdebug快速构建PHP调试环境
至此,我们已经完成了PHP调试环境的构建。现在,你可以在PhpStorm中打开你的PHP项目,设置断点,然后开始调试你的代码了。希望这个指南能帮助你快速构建PHP调试环境,提高你的开发效率。
503 26
|
8月前
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
275 6
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07