LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1230|回复: 3

求助:Trustix 2.1 下安装Mambo4.5v1.0.7后PHP页面显示空白的问题

[复制链接]
发表于 2004-4-11 13:17:30 | 显示全部楼层 |阅读模式
我的配置步骤:

一、httpd设定

1. vi /etc/httpd/php.ini

short_open_tag = Off   ----> Off 改为 On

file_uploads = Off   -----> Off changes to On

;extension = mysql.so   ---->  remove ";"

mysql.default_socket = /tmp/mysql.sock

2. vi /etc/httpd/conf/httpd.conf

Listen myip:80

AddDefaultCharset ISO-8859-1  ----->   GB2312

最后一行去掉注释并改为
Include /etc/httpd/conf.d/httpd-mod_php4.conf

3. vi /etc/httpd/conf.d/httpd-mod_php4.conf

将PHP4支持语句前的注释全部去掉

二、安装Mambo

解压到 /home/httpd/html

按照Mambo的Linux安装手册安装,并设好权限

三、问题

在 html目录下添加一个test.php
内容:<?phpinfo();?>

按照Trustix讨论组里的建议,chmod 644 test.php后,可以正常显示php信息。

但是不能显示index.php,页面是空白的???

于是也chmod 644了一下,结果提示无权访问,再改回来以后也是无权访问了。

我用的是Trustix 2.1 i586 200404011604,重装n遍依然如故。

以前用过 Trustix 1.5,主页面的index.php倒是可以显示,但是进入admin后也一样空白……

我检查过httpd.conf和mambo的configuration.php,主文档设定和mysql设定应该不错,
BUT WHY???!!!
发表于 2004-9-23 13:28:00 | 显示全部楼层
trustix的问题多多,我已经放弃了
发表于 2004-10-4 00:45:54 | 显示全部楼层

回复: 求助:Trustix 2.1 下安装Mambo4.5v1.0.7后PHP页面显示空白的问题

最初由 olym 发表
我的配置步骤:

一、httpd设定

1. vi /etc/httpd/php.ini

short_open_tag = Off   ----> Off 改为 On

file_uploads = Off   -----> Off changes to On

;extension = mysql.so   ---->  remove ";"

mysql.default_socket = /tmp/mysql.sock

2. vi /etc/httpd/conf/httpd.conf

Listen myip:80

AddDefaultCharset ISO-8859-1  ----->   GB2312

最后一行去掉注释并改为
Include /etc/httpd/conf.d/httpd-mod_php4.conf

3. vi /etc/httpd/conf.d/httpd-mod_php4.conf

将PHP4支持语句前的注释全部去掉

二、安装Mambo

解压到 /home/httpd/html

按照Mambo的Linux安装手册安装,并设好权限

三、问题

在 html目录下添加一个test.php
内容:<?phpinfo();?>

按照Trustix讨论组里的建议,chmod 644 test.php后,可以正常显示php信息。

但是不能显示index.php,页面是空白的???

于是也chmod 644了一下,结果提示无权访问,再改回来以后也是无权访问了。

我用的是Trustix 2.1 i586 200404011604,重装n遍依然如故。

以前用过 Trustix 1.5,主页面的index.php倒是可以显示,但是进入admin后也一样空白……

我检查过httpd.conf和mambo的configuration.php,主文档设定和mysql设定应该不错,
BUT WHY???!!!


我也是這樣,不過不用理它,你可以試試下載一些php程式?碓囋嚕鏿hpmyadmin.....
发表于 2004-10-7 15:09:51 | 显示全部楼层

问题解决之道

不应该是这样的
最初由 swordzjj 发表
trustix的问题多多,我已经放弃了


为什么我们要用trustix?就是因为它默认设置的安全,因为安全设置,所以有很多程序在默认情况下是不能正常工作的

mambo是apche+php+mysql架构的,所以我们要查找的是我们的这个lamp的工作环境是否适合你的程序
在 html目录下添加一个test.php
内容:<?phpinfo();?>

按照Trustix讨论组里的建议,chmod 644 test.php后,可以正常显示php信息


好,这说明,你的apche+php的工作环境是正常的,那么,你察看了你的phpinfo的mysql相关部分的输出信息了吗?以下是我的phpinfo的输出


  1. mysql
  2. MySQL Support enabled
  3. Active Persistent Links  0  
  4. Active Links  0  
  5. Client API version  4.0.18  
  6. MYSQL_MODULE_TYPE  external  
  7. MYSQL_SOCKET  /var/run/mysql/mysql.sock  
  8. MYSQL_INCLUDE  -I/usr/include/mysql  
  9. MYSQL_LIBS  -L/usr/lib -lmysqlclient  
复制代码


跟你的输出相比较,是否存在差别?

1。如果你的输出根本没有mysql这一节的话的话,说明你的php不支持mysql,也就是说,你没有安装mod_php4-mysql这个rpm包

2。如果你的输出有mysql这节的话,可是你的MySQL Support 的输出为disable的话,说明你的php支持mysql,可是你没有打开相应的mysql支持。也就是说,你应该修改你的php设置文件php.ini,如果你是用rpm包安装的话,就是修改/etc/httpd/php.ini,在中间找到

  1. ;extension=mysql.so
复制代码

将之修改为

  1. extension=mysql.so
复制代码


3。其实我上面说的两条多半是废话,现在我们来说trustix默认安全设置会影响到你的apache+php+mysql环境的地方:

不知道你有没有注意到我的phpinfo的mysql输出中的这条?

  1. MYSQL_SOCKET  /var/run/mysql/mysql.sock
复制代码

如果你的php是默认安装的话,肯定是没有这条了,这条记录说明了什么?

请确认你的mysql服务已经启动了,在你的shell底下输入

  1. netstat -an|more
复制代码

看Active Internet connections (servers and established)的输出

没有看到有本机3306的端口在侦听吧?这是因为trustix2.1默认的mysql是取消了网络侦听的,只给各个应用程序用本地的mysql.sock来连接,而你的php是不支持MYSQL_SOCKET连接的,当然你的php连接mysql数据库会有问题了

问题找到了,解决方法也就出来了
a.重新编译你的php,让它支持MYSQL_SOCKET,这个东西你自己去google,相关的资料多的要死
然后把php的mysql.default_socket 指向你系统的mysql.sock的正确位置,在trustix2.1底下就是/var/run/mysql/mysql.sock

b.让你的mysql在网络上侦听,修改/etc/my.cnf,找到下面这节

  1. # The MySQL server
  2. [mysqld]        
  3. port            = 3306
  4. socket          = /var/run/mysql/mysql.sock
  5. skip-networking
复制代码

将skip-networking这行注释掉,重新启动mysql即可


最后,我没有用过mambo的,不知道它具体对php还有什么要求,所以以上讲的只是通常的问题思考步骤,只是给你一个解决问题的思维方法,如此而已
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表