最近在写一个小的网站调试都是在WINDOWS的集成环境下进行运行调试,没什么问题,但是将网站的内容都放到linux服务器的/var/www目录下运行出现了好多问题,现在总结如下:
1.登录界面的样式出错,很多用CSS文件进行格式化的效果都没出来:
解决方法:是因为CSS文件里边的一些样式属性的路径不对,例如某个按钮的背景图片有个url ,由于网站更改后,目录会改变,所以要根据自己linux目录下的路径情况进行修改即可。也可以是包含CSS路径文件的文件比如xxx.php或者是HTML文件里边的CSS路径不对,检查即可。
2.数据库导入出现问题:
将WINDOWS下的数据库导入到linux下,首先用NAVICAT进行本地数据库,和远程LINUX服务器端数据库的连接,本地的可以成功但是远程的服务器会出现问题:
u Can't connect to mysql server on xxx.xxx.xxx.xxx(10038) 的问题。
解决方案如下:(两步骤都要做才可以实现,做完好最好重启一下mysql:service mysql restart)
1、授权
mysql>grant all privileges on *.* to 'root'@'%' identified by 'youpassword' with grant option;
mysql>flush privileges;
2、修改/etc/mysql/my.conf
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可
linux下登录mysql:mysql -u root(用户名) -p 123456(密码)即可。
3、因为网站要需要根据登录的用户在服务器端创建一个属于用户自己的目录,用mkdir在WINDOWS目录下实现了,可是移植到LINUX服务器下,就无法创建目录。
查了半天原因是因为LINUX下的目录都是带有权限的,一般情况下,用户和组用户都没有可写权限,所以,建立的目录没有权限,要对目录进行权限的修改,进入linux服务器中,以root用户进行权限修改,比如我要在/var/www/files/目录下创建一个文件夹责要对files进行权限修改:
cd /var/www切换进目录
chmod 777 ./files/ 修改了权限 777为最高的权限 所有人都可以读写执行
然后PHP中用mkdir()函数创建的目录也要自动的添加上权限,否则无法对文件夹进行读写操作
代码如下:
if(!file_exists($filename)) //判断文件夹是否存在 如果不存在则创建
{
//$filename 为文件夹的路径及名称
mkdir($filename);//创建文件夹
chmod($filename,0777);//更改权限
}
这样就可以成功解决问题了