最近在学习php,想在sae上搭建一个小网站,所以下载了一个ubantu 版本是14.04的,搭建了一个LAMP的php开发环境。在搭建的过程中我也碰到了许多问题,现在把过程记录下来,希望能对一写新手有些帮助。
1.安装mysql。
1.更新源列表
打开"终端窗口",输入"
sudo apt-get update"-->回车-->"输入root用户的密码"-->回车,就可以了。如果不运行该命令,直接安装mysql,会出现"有几个软件包无法下载,您可以运行apt-get update------"的错误提示,导致无法安装。
2.安装mysql
打开"终端窗口",输入
sudo apt-get install mysql-server mysql-client-->回车-->输入"y"-->回车-->在"软件包设置对话框"中输入mysql中"root"用户的密码-->回车-->再输一次密码-->回车,安装完成。(一定要记住安装mysql时设置的root用户的密码,Ubuntu 14.04系统的root用户和mysql中的root用户不是同一个用户。)
3.判断mysql是否安装成功
打开"终端窗口",输入
sudo service mysql restart-->回车-->如果mysql启动成功,处于运行状态说明mysql安装成功。然后可输入"mysql -uroot -p"-->回车-->输入密码,登录到mysql。
2.安装Apache
1.命令行安装Appche2
打开"终端窗口",输入
sudo apt-get install apache2-->回车-->输入"root用户的密码"-->回车-->输入"y"-->回车,安装完成。
2.默认的网站根目录的路径
Apache安装完成后,默认的网站根目录是"/var/www/html",在终端窗口中输入
ls /var/www/html-->回车-->在网站根目录下有一个"index.html"文件,在浏览器中输入"127.0.0.1"-->回车,就可以打开该页面。
3.1 Apache的第一个配置文件apache2.conf的路径
在终端窗口中输入"ls /etc/apache2"-->回车-->有一个"apache2.conf"的配置文件。
3.2 Apache的第二个配置文件000-default.conf的路径
在终端窗口中输入
ls /etc/apache2/sites-available-->回车-->有一个"000-default.conf"的配置文件。
4.修改网站的根目录
4.1 在终端窗口中输入
sudo gedit /etc/apache2/apache2.conf-->回车-->找到"
4.2 在终端窗口中输入
sudo gedit /etc/apache2/sites-available/000-default.conf-->回车-->找到"DocumentRoot /var/www/html"的位置-->更改"/var/www/html"为新的根目录就可以了,这里我把它更改为"/var/www/"。
5.重启Apache
在终端窗口中输入"sudo /etc/init.d/apache2 restart"-->回车-->"输入root用户密码"-->回车-->重启成功。
6.创建index.html
在"/var/www/"文件夹下新建一个index.html文件”-->保存,然后打开浏览器,输入"127.0.0.1"-->能访问到"index.html"文件-->更改成功。
3.安装PHP。
1.安装php
打开"终端窗口",输入
sudo apt-get install php5-->回车-->输入"y"-->回车-->安装完成。
2.让Apache支持php
打开"终端窗口",输入
sudo apt-get install libapache2-mod-php5-->回车-->安装完成。
3.安装php5-gd模块
打开"终端窗口",输入
sudo apt-get install php5-gd-->回车-->安装完成。
4.使用gedit在"/var/www"下创建info.php文件
打开"终端窗口",输入
sudo gedit /var/www/info.php-->回车-->在编辑器中输入""-->保存,文件创建成功。
5.测试Apache是否能解析php网页
在火狐浏览器中输入"127.0.0.1\info.php"-->出现了php的版本信息页面,说明php安装配置成功。(但版本信息中找不到mysql,说明此时的php并不支持mysql)
4.让apache支持mysql
打开"终端窗口",输入
sudo apt-get install libapache2-mod-auth-mysql-->回车-->安装成功,安装这个模块后,apache才能支持mysql。
5.让php支持mysql
打开"终端窗口",输入
sudo apt-get install php5-mysql-->回车-->安装成功,安装这个模块后,php才能支持mysql。
6.安装phpmyadmin(即mysql的图形化管理界面)
打开"终端窗口",输入
sudo apt-get install phpmyadmin-->回车。(中间需要输入一次mysql的密码)
然后在"终端窗口",输入
sudo ln -s /usr/share/phpmyadmin/ /var/www(相当与在www下创建了一个phpmyadmin的快捷方式,如果没有" -s "就是直接在www下创建一个与phpmyadmin相同目录,且不是复制),然后打开浏览器输入"/localhost/phpmyadmin"-->登录就可以了。
附:
可能会用到的一些Linux命令:
1. 给php文件夹授权:
sduo chmod a+w /var/www/html/php -R(表示给当前文件夹授予"a(所有,u用户,g组,o其他)"用户赋予"w(写入,"r"表读取,"x"表执行)的权限")或
sudo chmod 777 /var/www然后就可以写入html或php文件了。777是linux中的最高权限,表示可读,可写,可执行。
2. "su ifconfig"查看当前ip;
3. 启动Apache服务:
service httpd start;4. 停止Apache服务:
service httpd stop;5. 关闭开机自启动:
chkconfig httpd off;
配置svn同步到sae的svn仓库上:
1. 安装svn:
sudo apt-get install subversion2. 将svn中文件同步到sea服务器(先要cd到../svn/appname)
svn ci -m "submit code"# 注意,这里填写的submit code为更新的理由,必填项
3. 查看当前版本号:
svn ls path我的path: https://svn.sinaapp.com/longpeng/ (sae上的)
/home/long/svn/longpeng(本地的)
4. mysql设置主键'id'自增长:
ALTER TABLE `test` CHANGE `id` `id` INT(11) NOT NULL AUTO_INCREMENT;
5. 备份/恢复数据库:
mysqldump -uyylg -p12345 yylgDB >/home/long/yylgDB.txt;
mysql -uyylg yylgDB /long/yylgDB.txt;
以上就介绍了在ubantu下配置LAMP,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

PHPSession失效的原因包括配置错误、Cookie问题和Session过期。1.配置错误:检查并设置正确的session.save_path。2.Cookie问题:确保Cookie设置正确。3.Session过期:调整session.gc_maxlifetime值以延长会话时间。

在PHP中调试会话问题的方法包括:1.检查会话是否正确启动;2.验证会话ID的传递;3.检查会话数据的存储和读取;4.查看服务器配置。通过输出会话ID和数据、查看会话文件内容等方法,可以有效诊断和解决会话相关的问题。

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

在PHP中配置会话生命周期可以通过设置session.gc_maxlifetime和session.cookie_lifetime来实现。1)session.gc_maxlifetime控制服务器端会话数据的存活时间,2)session.cookie_lifetime控制客户端cookie的生命周期,设置为0时cookie在浏览器关闭时过期。

使用数据库存储会话的主要优势包括持久性、可扩展性和安全性。1.持久性:即使服务器重启,会话数据也能保持不变。2.可扩展性:适用于分布式系统,确保会话数据在多服务器间同步。3.安全性:数据库提供加密存储,保护敏感信息。

在PHP中实现自定义会话处理可以通过实现SessionHandlerInterface接口来完成。具体步骤包括:1)创建实现SessionHandlerInterface的类,如CustomSessionHandler;2)重写接口中的方法(如open,close,read,write,destroy,gc)来定义会话数据的生命周期和存储方式;3)在PHP脚本中注册自定义会话处理器并启动会话。这样可以将数据存储在MySQL、Redis等介质中,提升性能、安全性和可扩展性。

SessionID是网络应用程序中用来跟踪用户会话状态的机制。1.它是一个随机生成的字符串,用于在用户与服务器之间的多次交互中保持用户的身份信息。2.服务器生成并通过cookie或URL参数发送给客户端,帮助在用户的多次请求中识别和关联这些请求。3.生成通常使用随机算法保证唯一性和不可预测性。4.在实际开发中,可以使用内存数据库如Redis来存储session数据,提升性能和安全性。

在无状态环境如API中管理会话可以通过使用JWT或cookies来实现。1.JWT适合无状态和可扩展性,但大数据时体积大。2.Cookies更传统且易实现,但需谨慎配置以确保安全性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境