php+apache服务器端常见错误

 

1.80端口被占用如何处理或者查询服务器端口占用情况

症状:报错OS 1048错误,或者提示端口被专用

解决:在cmd命令窗口输入netstat -abn ->c:/port80.txt 然后到c盘port80.txt文件中找到占用80端口的程序pid,记下pid。打开任务管理器,点击“查看”/选择列,勾选“PID(进程标识符)”,然后单击“进程”标签,找到80端口对应的pid,就可以看到是那个程序占用的了,更改这个程序的port,或结束该进程即可。

2.连接MYSQL错误,或者提示arry_FETCH_row

症状:提示session或者缓存未开

解决:在windows文件夹下找到PHP.INI,修改里面的相应函数即可,保存重启服务器

3.运行程序错误不报错只显示空白页

症状:我搭建了个PHP服务器,运行程序错误不报错只显示空白页

解决:,在PHP.ini那里开启报错选项,display_errors =on;

4.转换时出现php连接不上mssql问题解决方法

问题描述:转换时,出现“没有配置好 PHP 与 MSSQL Server 数据库的连接!”错误提示

问题分析:只有原数据库类型是 MSSQL 数据库的时候,才可能出现这个错误提示。一般是因为 PHP 没有正确加载 MSSQL 模块造成的。

解决办法:

一、如果您使用的空间是虚拟空间,请联系空间商。

二、如果您对服务器有管理权限,请看下面解决办法

1、如果您的服务器系统是 windows ,那么打开 php.ini,找到:

;extension=php_mssql.dll

把前面的分号去掉,然后重启 web 服务器。

如果没有找到以上代码,请添加以下代码到 php.ini 中,保存,并重启 web 服务器:

extension=php_mssql.dll

如果您的服务器是 linux 系统的,请重新编译 PHP ,使之成功加载 MSSQL 模块。

2、检查下 PHP 的安装根目录 ext 下是否有 php_mssql.dll ,如果没有,请下载相应 PHP 版本的 php_mssql.dll 并拷贝到该目录下

3、下载附件,解压后,把 ntwdblib.dll 拷贝到 c:/windows/system32/ 下,然后重启 web 服务器

5.快速修复损坏的MySQL数据库

在长时间使用 MySQL 后,数据库可能会出现一些问题。大多数问题可以通过简单的操作进行快速修复。下面介绍两种快速检修 MySQL 数据库的方法。

1、myisamchk

使用 myisamchk 必须暂时停止 MySQL 服务器。例如,我们要检修 discuz 数据库。执行以下操作:

# service mysql stop (停止 MySQL );

 

# myisamchk -r /数据库文件的绝对路径/*MYI

# service mysql start

myisamchk 会自动检查并修复数据表中的索引错误。 

2、mysqlcheck

使用 mysqlcheck 无需停止 MySQL ,可以进行热修复。操作步骤如下:

# mysqlcheck -r discuz.* 

 

注意,无论是 myisamchk 还是 mysqlcheck ,一般情况下不要使用 -f 强制修复,-f 参数会在遇到一般修复无法成功的时候删除部分出错数据以尝试修复。所以,不到万不得已不要使用 -f。

6.如何修改服务器上传附件大小限制

修改 php.ini (Windows 系统在 C:/Windows/system32 下)中的下面几项:

post_max_size = 8M (表单提交的最大限制,此项不是限制上传单个文件的大小,而是针对整个表单提交的数据进行限制。)

upload_max_filesize = 2M (上传的单个文件的最大限制)

保证 post_max_size >= upload_max_filesize 即可,也就是前者不小于后者。

修改之后一定要重启 Web 服务。

注意:如果修改并重启 Web 后依然不生效,则有可能是你修改的 php.ini 文件不是当然 PHP 所使用的文件,确保你修改的是当前 PHP 正在使用的 php.ini 文件即可。

7.User %s already has more than /'max_user_connections/' active connections 

错误编号:1203

问题分析:

max_user_connections 是 MySQL 用户连接数的最大值设置,整段语句的意思是:服务器的 MySQL 的最大连接数参数设置不足。

解决方法:

1、修改 MySQL 安装目录下 my.ini 或者 my.cnf  文件内的 max_user_connections 参数的数值,重启 MySQL 服务器;

2、虚拟主机用户请联系空间商检查服务器是否正常。

8.如何开启MySQL的远程帐号 

开启 MySQL 的远程登陆帐号有两大步:

1、确定服务器上的防火墙没有阻止 3306 端口。

MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的。

如果您在安装 MySQL 时指定了其他端口,请在防火墙中开启您指定的 MySQL 使用的端口号。

如果不知道怎样设置您的服务器上的防火墙,请向您的服务器管理员咨询。

2、增加允许远程连接 MySQL 用户并授权。

1)首先以 root 帐户登陆 MySQL

在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,MySQL 的 bin 目录下,然后输入下面的命令。

在 Linux 主机中在命令提示行下输入下面的命令。

> MySQL -uroot -p123456

 

123456 为 root 用户的密码。

2)创建远程登陆用户并授权

> grant all PRIVILEGES on discuz.* to ted@'123.123.123.123' identified by '123456';

 

上面的语句表示将 discuz 数据库的所有权限授权给 ted 这个用户,允许 ted 用户在 123.123.123.123 这个 IP 进行远程登陆,并设置 ted 用户的密码为 123456 。

下面逐一分析所有的参数:

all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

discuz.* 表示上面的权限是针对于哪个表的,discuz 指的是数据库,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。

ted 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

123.123.123.123 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。

123456 为用户的密码。

执行了上面的语句后,再执行下面的语句,方可立即生效。

> flush privileges;

 9.如何开启MySQL慢查询日志

在运营网站的过程中,可能会遇到网站突然变慢的问题,一般情况下和 MySQL 慢有关系,可以通过开启慢查询,找到影响效率的 SQL ,然后采取相应的措施。下面介绍一下如何开启慢查询:

1、开启慢查询

找到 MySQL 的配置文件 ,my.cnf (Windows 为 my.ini ),在 MySQL 下增加下面几行:

long_query_time=2
log-slow-queries= /usr/var/slowquery.log

上面的 2 是查询的时间,即当一条 SQL 执行时间超过2秒的时候才记录,/usr/var/slowquery.log 是日志记录的位置。

然后重新启动MySQL服务

2、 MySQL 配置文件的位置

Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:/Windows 下。

Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。

10.Too many connections

错误编号:1040

问题分析:

连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout  都有关系。wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。

解决方法:

1、虚拟主机用户请联系空间商优化 MySQL 服务器的配置;

2、独立主机用户请联系服务器管理员优化 MySQL 服务器的配置,可参考:

修改 MySQL 配置文件(Windows下为 my.ini, Linux下为 my.cnf )中的参数:

max_connections= 1000
wait_timeout = 5

如果没有可以自行添加,修改后重启 MySQL ,如果经常性的报此错误,请做一下服务器的整体优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值