1、服务器环境cat /proc/version
操作系统:Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
域名:IP地址 ************************
tomcat-5.5.23 Apache2.2.6(httpd-2.2.6)
2、验证服务器对PHP的支持情况
将.php文件放入服务器 /.../www/html 文件夹下,用浏览器尝试访问,若正确显示内容,则表明服务器支持php
因为实验室服务器托管,且仅支持key访问,故远程copy~注意:在/home/private_key_owner/.ssh存放公钥(.pub),并保证服务器上与相同名字的用户对 /.../www/html 文件夹具有写权限 [private_key_owner@localhost] scp ~/php server_ip:/.../www/html
3、MYSQL密码丢失
MySQL版本:5.0.51a-0.rhel4
(1)停止mysql服务
shell>service mysql stop
(2)修改/etc/my.cnf
(若文件不存在,可以在解压后的文档内找到my-small.cnf、my-innodb-heavy-4G.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf,根据服务器硬件选择合适的文件,复制到/etc/my.cnf)
打开/etc/my.cnf
在[mysqld]下
添加skip-grant-tables(此处不同版本的写法貌似不同 请参考手册)
保存退出
(3)启动mysql服务
shell>service mysql start
(4)进入mysql 注意mysql命令的书写正确性!!!
shell>mysql //此时任何人都可以以root权限管理mysql
mysql>update mysql.user set password=password('your_new_password') where user='root';
mysql>flush privileges;
mysql>quit;
(5)修正/etc/my.cnf
删除skip-grant-tables(此处不同版本的写法貌似不同 请参考手册)
保存退出
其实甚至可以删除/etc/my.cnf这个文件了~
(6)重新启动mysql服务
shell>service mysql restart
(7)现在就可以正确登录了
shell>mysql -u root -p
输入刚才修改的密码就可以了!
4.php与MySQL连接问题(仅有一点点参考价值)
将.php文件(内含mysql_connect(...)代码)放入目录下 ,浏览器访问出现"Fatal error: Call to undefined function mysql_connect()......."错误,
浏览了很多相关网页,得出的结论是PHP在安装时没有配置 --with-mysql选项,如果是rpm安装,则可以补充php-mysql的包;但我们的是源码安装……
(以下的多数问题,都没有得到很好的解决,如果有更好的办法,请留言告诉我=_=,谢谢啦)
故本人决定重装PHP,卸载旧的php后,官网下载了php-5.3.8.tar.gz,按照文档安装配置,但配置httpd.conf等完成后,服务器竟然仍不支持php,现象是这样的:浏览器能正常访问.html的文档,不能打开.php的网页,而且询问是否下载……;接着我又重装了几次这个php-5.3.8,然后浏览百度出的各种网页,试验,但均没有效果;
其间还出现了不能正确加载 libphp5.so的问题(httpd:Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannotload /usr/local/apache2/modules/libphp5.so into server:/usr/local/apache2/modules/libphp5.so.......),应该是SELINUX的问题,在/etc/sysconfig/selinux中设置SELINUX=disabled,但依旧没能解决上一段的问题。
我抱着死马当活马医的心态,将安装版本换成php-5.2.17,以往的办法依旧没有奇迹发生,但在浏览google后的信息中,发现了AddHandler php5-script.php ,红色部分是关键,服务器支持php了。我原来的httpd.conf中版本一直是AddHandler x-httpd-php5 .php,并且安装文档里面也是这么给出的。事实证明:php5-script行之有效!
现在服务器支持新的php,而且可以正确连接数据库,注意在mysql_connect("localhost","usrname","password"),一定要和mysql中的mysql.user中的某行一致,尤其是localhost处!password此处应该是明文,mysql.user中显示的应该是密文(加密过后的)。
5.php session 简单应用
其实session的作用是将用户和服务器之间的连接信息保存了,有点文件的意思(这些信息可能保存在服务器中,也可能保存在客户端,例如cookie),session中提供$_SESSION数组保存自定义变量,这些定义的$_SESSION["***"]变量,在应用session_start()后是全网站页面均可见的。
一般应用:
session_start()——必须应用在所有html之前,启动会话
session_destroy()——删除所有会话内容
对$_SESSION变量的操作和其他php变量的操作相同 参见php function --- variable handling
6.利用 MySQL sql 语句里的 limit 实现数据分页
select * from table limit 6,-1 ;取第7行至表结尾所有行
7.phpmyadmin 数据库连接