• 大小: 0.03M
    文件类型: .doc
    金币: 1
    下载: 0 次
    发布日期: 2021-02-28
  • 标签: php  问题  en  hp  

资源简介

------环境搭建------

 

一、安装apache:

 

yum install httpd httpd-devel

 

启动apache:

 

/etc/init.d/httpd start

 

此时输入服务器的IP地址,应该看到apache的服务页面,端口不用输,apache默认就是使用80端口

 

 二、安装mysql:

 

yum install mysql mysql-server

 

启动mysql:

 

/etc/init.d/mysqld start

 

 三、安装php

 

yum install php php-devel

 

重启apache使php生效

 

/etc/init.d/httpd restart

 

此时可以在目录:/var/www/html/下建立一个PHP文件

 

代码:

 

<?php phpinfo(); ?>

然后访问这个文件,就能看到PHP的一些信息,php.ini配置文件的路径可以在这个页面上看到

 

四、安装php的扩展

 

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

 

安装完扩展之后需要再次重启apache

 

/etc/init.d/httpd restart

 

代码传入目录/var/www/html/

 

就可以看到执行情况

 

 

------常见问题处理------

一、 Could not connect: Can't connect to MySQL server on '127.0.0.1' (13)2003 原因解析

原因:

#getsebool -a | grep httpd

[neo@neo phpMyTest]$ getsebool -a | grep httpd

 

发现 httpd_can_network_connect --> off

解决方案:

#setsebool httpd_can_network_connect 1

 

详见:http://www.cnblogs.com/ayanmw/p/3464121.html

 

二、service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误

  service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误的方法如下:

 

[root@ctohome.com ~]# service mysql start

mysql: unrecognized service

[root@ctohome.com ~]# service mysql restart

mysql: unrecognized service

 

[root@ctohome.com ~]# rpm -q mysql   查询发现mysql已经正常安装

mysql-5.1.52-jason.1

 

[root@ctohome.com ~]# /etc/rc.d/init.d/mysqld start  直接启动没问题

Starting mysqld:  [  OK  ]

 

 

[root@ctohome.com ~]# ls  /etc/rc.d/init.d/mysqld  -l

-rwxr-xr-x 1 root root 5509 Dec 18 02:31 /etc/rc.d/init.d/mysqld

 

[root@ctohome.com ~]# chkconfig mysqld on 设置mysql开机启动

 

[root@ctohome.com ~]# chmod 755 /etc/rc.d/init.d/mysqld  修改mysqld执行权限

 

[root@ctohome.com ~]# service mysqld start  搞定

Starting mysqld:  [  OK  ]

 

详见:http://www.cnblogs.com/hailexuexi/archive/2012/07/19/2599254.html

 

三、  linux中提示The requested URL *** was not found on this server

 

原因:rewrite_module没开启

 

 

开启过程如下:

 

centos的配置文件放在:

 

 代码如下复制代码

 

/etc/httpd/conf/httpd.conf

 

打开文件找到:

 

 代码如下复制代码

 

LoadModule rewrite_module modules/mod_rewrite.so

 

将前面"#"去掉,如果不存在则添加上句。

 

如果你的网站是根目录的话:找到

 

 代码如下复制代码

 

<Directory />

 

  Options FollowSymLinks

 

  AllowOverride None  

 

</Directory>

 

将上面的None改为All

 

如果你的站点不在根目录,设置如下:

 

 代码如下复制代码

 

<Directory "/var/www/html/my_directory">

 

Order allow,deny

 

Allow from all

 

AllowOverride All

 

</Directory>

 

OK,然后重启服务器,service httpd restart ,这样.htaccess就可以使用了

 

详见:http://www.android100.org/html/201407/28/47399.html

 

四、  安装libpng编译出错

 

原因:系统是64

解决: 使用64位元的方法进行编译

如: cd zlib-1.2.3 //进入zlib目录

 

CFLAGS="-O3 -fPIC" ./configure   //使用64位元的方法进行编译

 

五、linux系统外网访问不了部署网站

 

解决:

1、关闭防火墙:chkconfig iptables off

2、 问题解决,是防火墙问题,我关闭防火墙就可以了,后来查了下,nagios监控界面是访问80端口,因此,防火墙中需要允许外面访问80端口

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

然后保存:

 /etc/rc.d/init.d/iptables save

 //重启

/etc/init.d/iptables restart

 

六、Fatal error: Smarty error: unable to write  to $compile_dir '/usr/www/html/main/templates_c'. Be sure...

解决:

1、去/etc/php.ini,把display_errors = Off改成display_errors = On

2、  经检查发现/usr/www/html/main/templates_c这个目录没有读权限,

命令: chmod 777  /usr/www/html/main/templates_c

 

之后正常显示。

 

七、

 

报错:1130-host ... is not allowed to connect to this MySql server

 

解决方法:

 

1。 改表法。

 

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

 

mysql -u root -pvmwaremysql>use mysql;

 

mysql>update user set host = '%' where user = 'root';

 

mysql>select host, user from user;

 

2. 授权法。

 

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

 

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 

FLUSH   PRIVILEGES;

 

如果你想允许用户myuserip192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

 

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 

FLUSH   PRIVILEGES;

 

如果你想允许用户myuserip192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

 

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 

FLUSH   PRIVILEGES;

 

我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES 使修改生效.就可以了

 

另外一种方法,不过我没有亲自试过的,csdn.net上找的,可以看一下.

 

在安装mysql的机器上运行:

 

1d:\mysql\bin\>mysql   -h   localhost   -u   root //这样应该可以进入MySQL服务器

 

2mysql>GRANT   ALL   PRIVILEGES   ON   *.*   TO   'root'@'%'   WITH   GRANT   OPTION //赋予任何主机访问数据的权限

 

3mysql>FLUSH   PRIVILEGES //修改生效

 

4mysql>EXIT //退出MySQL服务器

 

 

 

这样就可以在其它任何的主机上以root身份登录啦!

 

 

 

 

 

 

 

 

 

 

 

 

资源截图

代码片段和文件信息

评论

共有 条评论