PHP Warning: PHP Startup: 扩展名称: Unable to initialize module
当安装完PHP 某项扩展后重启apache, php -m 时候出现 PHP Warning: PHP Startup: 扩展名称: Unable to initialize module 警告,一般情况下是因为本地有多个 php版本存在,造成php版本不兼容。解决办法如下:
1、在phpize编译时候使用绝对路径,例如: /Applications/XAMPP/bin/phpize (我本地是Mac xampp环境)
2、在configure时候加上--with-php-config 选项来指定使用哪一个版本编译,该选项指定了相对应的 php-config 脚本的路径
sudo ./configure --with-php-config=/Applications/XAMPP/bin/php-config
3、继续下一步
sudo make
sudo make install
安装成功!
500错误是程序错误了那么出现500错误要如何来处理呢,今天我们来看一篇关于帝国备份王php5.4上出现500错误问题的处理办法吧,具体的如下文介绍。
问题解决很简单,修改php.ini,把short_open_tag 设为 On
vi etc/php.ini
/short_open_tag
#把默认Off的改成On
:wq
service httpd restart
正常打开,设置好数据库发现还是无法备份,提示:数据库无法备份,请重新填写,真是一波三折了,于是乎又重新查找资料,发现是没有给权限,按照帝国备份王的帮助说明重新分配权限,结果。。。OK
代码事下
I:\>cd www
I:\www>php a.php
PHP Deprecated: Directive 'register_globals' is deprecated in PHP 5.3 and great
er in Unknown on line 0
Deprecated: Directive 'register_globals' is deprecated in PHP 5.3 and greater in
Unknown on line 0
/*=================================================
====Name:dedecms 5.7 getshell ====
===================================================
====Usage:php dede.php ====
===================================================
====Team:C0dePlay Team ====
===================================================
====Author: Yaseng ====
====Date: 2012-06-15 01:35:00 ====
===================================================*/
I:\www>
原因分析
PHP 5.3 开始,配置文件 php.ini 中的一些配置将会在 PHP 执行时显示过时警告,这些配置将在 PHP6中不再存在,相关功能也将关闭。
define_syslog_variables
register_globals
register_long_arrays
safe_mode
magic_quotes_gpc
magic_quotes_runtime
magic_quotes_sybase
解决问题很简单
只需要在php.ini中,做如下的设置即可。
register_globals = Off
Cannot modify header information ? headers already sent by问题是一个大问题了,今天我们来看一篇关于Cannot modify header information ? headers already sent by问题解决办法。
发送头消息前不能有任何输出
任何修改或者发送HTTP头的函数都必须在 任何形式的输出 之前被调用
一些函数会修改HTTP头:
header/header_remove
session_start/session_regenerate_id
setcookie/setrawcookie
而输出主要可能如下:
隐性输出
在 <?php 之前或者 ?> 之后的空格
UTF-8文件的 BOM头
之前出现的报错信息
显性输出
print , echo 和其它类似的输出函数
在 <?php 之间嵌入的原始html
为什么会出现Cannot modify header information – headers already sent by错误
为了理解为什么头消息必须早于输出,我们来看看典型的HTTP响应。PHP主要是生成HTML内容,但同时也传输了一组 HTTP/CGI 头给webserver:
HTTP/1.1 200 OK
Powered-By: PHP/5.3.7
Vary: DontTrackMeHere
Content-Type: text/html; charset=utf-8
<html><head><title>PHP page output page</title></head>
<body><h1>Content</h1> <p>Some more output follows...</p>
and <a href="/"> <img src=internal-icon-delayed> </a>
输出总是尾随头消息出现。PHP必须首先传头消息给网页服务器,并且只能传一个。在两个换行之后再也不能为头消息添加任何内容了。
当PHP收到第一个输出后(例:print,echo,…),它会刷新并发送设置的所有头信息。然后就可以就可以随心所欲的输出了,但是此时已经无法修改HTTP头信息了。
如何找到早于头消息的输出
报错信息中已经包含了所有相关能够定位错误的信息:
Warning: Cannot modify header information - headers already sent by (output started at /www/usr2345/htdocs/auth.php:52) in /www/usr2345/htdocs/index.php on line 100
可以看到header在文件的100行被调用。
“output started at” 则包含着更重要的信息:直接指名在auth.php的52行已经产生了输出。这就是我们需要找的。
一般情况:
print,echo
原始的HTML语句
<!DOCTYPE html>
<?php
//已经不能修改或发送头消息了
<?php 之前的空格
<?php
//这里有一个空格
UTF-8 BOM
这是更不易察觉,但比较普遍出现的情况。确保用你的编辑器保存文件以“UTF-8 (no BOM)”方式保存。
报错信息形如 “Unknown on line 0”
一般这样的报错说明输出来自PHP扩展或者PHP.ini设置错误信息
相关文章
PHP Warning: PHP Startup: 扩展名称: Unable to initialize module
下面我们来看一篇关于PHP Warning: PHP Startup: 扩展名称: Unable to initialize module问题的解决办法,具体如下。 当安装完PHP 某项扩展后重启apache, php -m...2016-11-25- 网上也有很多类似的方法,不过都存在这样那样的不严谨的问题,本文就不一一分析了,这里只给出最正确的利用php 获取文件扩展名(文件后缀名)的方法。 function get_extension($filename){ return pathinfo($filename,PATHIN...2015-10-30
- 这篇文章主要介绍了C#获取并修改文件扩展名的方法,实例分析了C#编程方式修改文件扩展名的技巧,涉及Path类的使用方法,需要的朋友可以参考下...2020-06-25
- Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in F:\myweb\lzlj\cn.php on line 23 问题是你的mysql_query()时的sql出现...2016-11-25
php CURLOPT错误Warning: curl_setopt() [function.curl-setopt]:...
在我们使用php curl函数时提示Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir...2016-11-25Warning: mssql_query() [function.mssql-query]:
Warning: mssql_query() [function.mssql-query]: message: 不能用 DB-Library(如 ISQL)或 ODBC 3.7 或更早版本将 ntext 数据或仅使用 Unicode 排序规则的 Unicode 数据...2016-11-25PHP Warning: implode() [function.implode]: Invalid
今天在做一个小的采集发布接口时发现使用implode函数老提示出错,但在网上找了一下解决不了,后来仔细看一原因是写法错误了,当然因这个问题也学了不少东西下面给各位整理...2016-11-25- Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in $connect=mysql_connect("localhost","root","123") or die("无法连接...2016-11-25
- 代码如下 复制代码 */ function attachicon($type,$size='') { static $attachicons = array( 0 => 'common.gif', 1 => 'image.gif', ...2016-11-25
- 由于编译的警告各种各样,根本不可以一一罗列出来,下面只是列举出比较典型的十六种警告,还有一些警告,大家只要根据字面意思,就可以很快的查找出来,并解决之。希望对大家有所帮助。...2020-04-25
PHP warning Illegal offset type错误解决办法
下面是一个朋友在使用yii时碰到PHP warning Illegal offset type错误问题的解决办法,有需要的朋友参考一下。 一句话,错在用对象作为数组的键。比如说,以下代码就会...2016-11-25- 我们的网站提示这样的错误,Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource 下面有三种情况: mysql_free_result的参数不对...2016-11-25
Warning: Invalid argument supplied for foreach()
你是不是在用foreach 时出现这样的错误呢?Warning: Invalid argument supplied for foreach() 语法:foreach(array as value => value2) 实例: $Array =array(1,2,3,4...2016-11-25- 网站文件上传安全性不容忽视,我们第一步验证就是限制上传扩展名,只能上传我们规定的文件扩展名,现在我们用php的ereg来验证上传文件。 ereg格式如下: 代码如...2016-11-25
Warning: chmod() has been disabled for security reasons in
Warning: chmod() has been disabled for security reasons in D:\\freehost\\xxx\\WindFile.php on line 102根据英文的意思我们知道是出于安全原因,已被禁用的chmod()...2016-11-25- 提供一个实例的php自定义函数,这是一个可以批量修改文件后缀名的php程序,有需要的朋友可以参考一下。 代码如下 复制代码 <?php function...2016-11-25
- 在 PHP 中,如何获取文件扩展名名呢,我们可能会用字符串操作函数进行处理,但下面举的这些方法只是获取了用户的名字后面带.后面的后缀了并不能做安全验证哦。 比如: ...2016-11-25
Warning: session_start(): Cannot send session
Warning: session_start(): Cannot send session cache limiter echo "<a href='../home.php'>Home</a>n<br />"; session_start(); cache limiter 想...2016-11-25- 怎么样获得上传文件的扩展名. 怎么样获得上传文件的扩展名. 例如:c:\lovebbbb\ccc.gif 我想取得.gif 方法一 <script> str = "c:\aaa\bb.ccc.dd.gif"; alert("...2016-09-20
完美解决phpdoc导出文档中@package的warning及Error的错误
下面小编就为大家带来一篇完美解决phpdoc导出文档中@package的warning及Error的错误。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-05-20