当前位置:首页 » 编程语言 » php强制错误

php强制错误

发布时间: 2022-10-18 06:18:50

1. php出现乱码,怎么强制编码

你的程序使用数据库了吗?我觉得图中的乱码可能是数据库造成的。
因为你提供的信息比较少,我假定使用了mysql数据库。
首先确认你的程序使用什么编码,一般是UTF8或GBK。你可以借助一些代码编辑器来识别程序的编码,比如eclipse或notepad++。方法一般是设定编辑器的编码,直到中文不乱码为止。
然后查看数据库的编码。如果你使用phpmyadmin,查看数据表结构,“整理”一列表示字符编码(如gbk_chinese_ci)。如果编码不同,将数据库的编码设为和程序编码一致即可。

2. 求问php configure err 错误怎么办

php-configure错误解决
configure: error: libjpeg.(a|so) not found
configure: error: libjpeg.(a|so) not found
ln -sf libjpeg.so.62.0.0 libjpeg.so
configure: error: libpng.(a|so) not found.
yum install libpng-devel
32位和64位的都装了。你可以强制删除两个包,再重装64位的包。
rpm --allmatches --nodeps
可能在config结束后会提示:
configure: error: libjpeg.(a|so) not found
configure: error: libjpng.(a|so) not found
错误,那么请在configure前执行如下的命令:
cp -frp /usr/lib64/libjpeg.* /usr/lib/
cp -frp /usr/lib64/libpng* /usr/lib/
因为php默认就在/usr/lib/下找相关库文件,而x64机器上是在:/usr/lib64
解决这个问题,首先确定你安装的 jpeg的x86_64的的安装位置
shell> updatedb
shell> locate libjpeg.so
看到已经安装位置
然后明白php参数的含义
根据php的配置参数
--with-jpeg-dir=/usr --with-libdir=lib64
--with-jpeg-dir=/usr :是确定jpeg的安装位置
--with-libdir=lib64 : 这个是一个全局参数,代表配置器寻找所有安装路径下的lib64目录,而不是默认安装路径下的lib目录
CentOS 5 常见的configure error的解决方法2009-10-20 10:23仅限于CentOS 5
configure: error: No curses/termcap library found
网上有的说法是:
--with-named-curses-libs=/usr/lib/libncursesw.so.5
其实是不对的,虽然能解决configure的错误,但是make的时候会提示错误,正确的做法应该是
yum -y install ncurses-devel
debian: apt-get install libncurses5-dev
configure: error: xml2-config not found
yum -y install libxml2-devel
debian:apt-get install libxml2-dev
configure: error: Cannot find OpenSSL's
yum -y install openssl-devel
configure: error: libjpeg.(a|so) not found
yum -y install gd
yum -y install gd-devel
debian:apt-get install libjpeg-dev
configure: error: libpng.(a|so) not found.
apt-get install libpng12-dev
configure: error: cannot find output from lex; giving up
yum -y install flex
configure: error: mod_deflate has been requested but can not be built e to prerequisite failures
yum -y install zlib-devel openssl-devel
debian:apt-get install zlib1g-dev
configure: error: libXpm.(a|so) not found.
apt-get install libxpm-dev
onfigure: error: freetype.h not found.
apt-get install libfreetype6-dev
configure: error: ...No recognized SSL/TLS toolkit detected
apt-get install libssl-dev
在x64的机器上编译PHP+GD的时候需要注意一下
Written by bixuan on 2007年04月12号 – 11:04
php编译常见错误大全Posted in linux相关 | 七月 22nd, 2009
1) Configure: error: xml2-config not found. Please check your libxml2 installation.
Solutions :
yum install libxml2 libxml2-devel (For Redhat & Fedora)
# aptitude install libxml2-dev (For ubuntu)
2) Checking for pkg-config… /usr/bin/pkg-config
configure: error: Cannot find OpenSSL’s
Solutions :
yum install openssl openssl-devel
3) Configure: error: Please reinstall the BZip2 distribution
Solutions :
yum install bzip2 bzip2-devel
4) Configure: error: Please reinstall the libcurl distribution -
easy.h should be in /include/curl/
Solutions :
yum install curl curl-devel (For Redhat & Fedora)
# install libcurl4-gnutls-dev (For Ubuntu)
5) Configure: error: libjpeg.(also) not found.
Solutions :
yum -y install gd
yum -y install gd-devel
yum install libjpeg libjpeg-devel
6) Configure: error: libpng.(also) not found.
Solutions :
yum install libpng libpng-devel
apt-get install libpng12-dev
7) Configure: error: freetype.h not found.
Solutions :
yum install freetype-devel
Configure: error: Unable to locate gmp.h
Solutions :
yum install gmp-devel
9) Configure: error: Cannot find MySQL header files under /usr.
Note that the MySQL client library is not bundled anymore!
Solutions :
yum install mysql-devel (For Redhat & Fedora)
# apt-get install libmysql++-dev (For Ubuntu)
10) Configure: error: Please reinstall the ncurses distribution
Solutions :
yum install ncurses ncurses-devel
11) Checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found!
Solutions :
yum install unixODBC-devel
12) Configure: error: Cannot find pspell
Solutions :
yum install pspell-devel
13) configure: error: mcrypt.h not found. Please reinstall libmcrypt.
Solutions :
yum install libmcrypt libmcrypt-devel (For Redhat & Fedora)
# apt-get install libmcrypt-dev
14) Configure: error: snmp.h not found. Check your SNMP installation.
Solutions :
yum install net-snmp net-snmp-devel
15)开启LDAP服务还需要
yum -y install openldap-devel openldap-servers openldap-clients
16)configure: error: No curses/termcap library found
网上有的说法是:
–with-named-curses-libs=/usr/lib/libncursesw.so.5
其实是不对的,虽然能解决configure的错误,但是make的时候会提示错误,正确的做法应该是
yum -y install ncurses-devel (for redhat)
apt-get install libncurses5-dev(for debian)
17)configure: error: cannot find output from lex; giving up
yum -y install flex
18)configure: error: mod_deflate has been requested but can not be built e to prerequisite failures
yum -y install zlib-devel openssl-devel
debian:apt-get install zlib1g-dev
19)configure: error: libXpm.(a|so) not found.
apt-get install libxpm-dev
补充:通过以上命令配置PHP时,遇到错误,总说找不到libmcrypt。由于这服务器是个裸机,很多必须的库都没装,必须一个一个的手动安装,可libmcrypt这个库我的确装过了。重试n遍,无解,解决方案
Then I visited
http://mcrypt.hellug.gr/mcrypt/index.html
an learned that I have to install not only libmcrypt
but also mcrypt and libmhash.
Here is the to do:
libmcrytp:
———–
download libmcrypt-xxx.tar.gz
create the following directory: / usr / local / libmcrypt
the libmcrypt-xxx.tar.gz into that directory and move to it
run the following shell (>) commands: (’xxx’ is the version number)
> gunzip -c libmcrypt-xxx.tar.gz | tar xf -
> cd libmcrypt-xxx
> ./configure --disable-posix-threads
> make
> make check (note: ‘make check’ is optional)
> make install
then (update your environment) add in / etc / profile the following path:
/usr/local/libmcrypt/libmcrypt-xxxx
(note: as I run Red Hat 7.3 I set the line a f t e r the if-part
(id -u = 0 …) with: pathmunge /usr/local / libm….)
and add in / etc / ld.so.conf the following path: /usr/local/lib
then run ldconfig:
> ldconfig
now comes the important part:
> cd /usr/local/libmcrypt/libmcrypt-xxx/libltdl
> ./configure --enable-ltdl-install
> make
> make install
(maybe not needed: I also added a link in / usr / bin: )
(> cd /usr/bin)
(> ln -s /usr/lib/libltdl.so.3.1.0 ltdl)
mhash:
———–
download mhash-xxx.tar.gz
create the following directory: / usr / local / mhash
the mhash-xxx.tar.gz into that directory and move to it
run the following shell (>) commands: (’xxx’ is the version number)
> gunzip -c mhash-xxx.tar.gz | tar xf -
> cd mhash-xxx
> ./configure
> make
> make check (note: ‘make check’ is optional)
> make install
mcrypt:
———–
download mcrypt-xxx.tar.gz
create the following directory: / usr / local / mcrypt
the mcrypt-xxx.tar.gz into that directory and move to it
run the following shell (>) commands: (’xxx’ is the version number)
> gunzip -c mcrypt-xxx.tar.gz | tar xf -
> cd mhash-xxx
> ./configure
> make
> make check (note: ‘make check’ is optional)
> make install
back to PHP:
————–
move into your PHP installation directory
then the following command worked on my computer:
>
./configure –with-apache=/usr/local/apache/apache_1.3.29 –with-mysql –wit
h-mcrypt=/usr/local/mcrypt/mcrypt-2.6.4
> make
> make install

3. 关于php强制类型转换的一个问题,困扰我好久了,一个变量前面加上两个

就是说,最后转化成了字符串类型,比如“328”,它已经不再有整数的属性,比如不能进行乘法运算,却能使用字符串函数进行处理了。外行意见,仅供参考

4. PHP用户修改个人信息,强制某些信息不能修改

readfile.php界面
<!DOCTYPEHTML>
<html>
<head>
<metacharset="gbk"/>
<title>读取文件内容</title>
<?php
$filePath="test.txt";
if(file_exists($filePath)){
$file=fopen($filePath,"r");
$content="";
while(!feof($file)){
$content.=fgets($file);
}
fclose($file);
}
?>
</head>
<body>
<formaction="writefile.php"method="post">
<textarearows="10"cols="50"name="content"><?phpecho$content?></textarea>
<inputtype="submit"value="写入文件"/>
</form>
</body>
</html

上面是writefile.php文件的代码

<?php

$content=$_POST['content'];//接受文本域内容

$content=$content."修改内容";//这个地方你可以随意修改,就是修改$content的内容。

$filepath="test.txt";

$file=fopen($filepath,"w");

$result=fwrite($file,$content);

fclose($file);

if($result){

echo"写入成功!";

}else{

echo"写入失败!";

}

echo"<ahref='readfile.php'>点击这里返回读取文件内容界面</a>";

亲!你可以看一下上面的修改用户信息的代码,希望对你有帮助!

5. win2008 安装的php出现 处理程序 FastCGI 错误代码 0x80070003

重装系统提示缺失文件错误代码:0x80070003

错误原因:重装系统时遇到提示 “错误0x80070003 由于I/O设备错误,无法运行此项请求”。

解决方法:


方法一:win+r运行 CMD后,输入 CHKDSK E:/R后回车 E:为出现问题的盘符。


方法二:

  1. 右键盘符,查看属性,并点击工具里的 开始检查;

2.按需勾选;

3.强制卸除 的用处,这里点击取消;

4.这里点击“计划磁盘检查;

5.重启后,系统会自动修复错误。再次复制粘贴之前出问题的文件,解决问题。

6. PHP怎么强制用代码让浏览返回 500 错用抛出异常好像不行,求助

这个..汗还有这个要求,好吧下面是代码
#首先要关闭php的错误显示
ini_set('display_errors','0'); #写在第一行
#调用一个不存在的函数或随便故意弄点错最简单的...写随便写一行,不加冒号....比如
$kdsajfakf
#如上...错误就出来了

7. 求PHP强行修改755为777的方法

PHP的权限是在操作系统之下的,如果不开放权限PHP不可能执行,没有什么强行的问题.
-----------------------------------------
首先必须保证你是有权修改的,可以调用shell改,这就不完全是纯PHP来做了只是用PHP执行了SHELL而已,可以实现
----------------------------------------
检查一下文件所有者吧.这个必须要有权才能修改了

8. php中强制下载文件的代码(解决了IE下中文文件名乱码问题)

中间遇到一个问题是提交的中文文件名直接放到header里在IE下会变成乱码,解决方法是将文件名先urlencode一下再放入header,如下。
复制代码
代码如下:
<?php
$file_name
=
urlencode($_REQUEST['filename']);
header("Pragma:
public");
header("Expires:
0");
header("Cache-Control:
must-revalidate,
post-check=0,
pre-check=0");
header("Content-Type:
application/force-download");
header('Content-Type:
application/vnd.ms-excel;
charset=utf-8');
header("Content-Transfer-Encoding:
binary");
header('Content-Disposition:
attachment;
filename='.$file_name);
echo
stripslashes($_REQUEST['content']);
?>
解决PHP
Header下载文件在IE文件名中文乱码有两种常见的,一种是是把页面编码改成utf8,另一种是对中文url进入urlencode编码就可以解决了。
解决方案一(我的页面是utf-8编码):
复制代码
代码如下:
$filename
=
"中文.txt";
$ua
=
$_SERVER["HTTP_USER_AGENT"];
$encoded_filename
=
urlencode($filename);
$encoded_filename
=
str_replace("+",
"%20",
$encoded_filename);
header('Content-Type:
application/octet-stream');
if
(preg_match("/MSIE/",
$ua))
{
header('Content-Disposition:
attachment;
filename="'
.
$encoded_filename
.
'"');
}
else
if
(preg_match("/Firefox/",
$ua))
{
header('Content-Disposition:
attachment;
filename*="utf8'''
.
$filename
.
'"');
}
else
{
header('Content-Disposition:
attachment;
filename="'
.
$filename
.
'"');
}
解决方法二
将文件名先urlencode一下再放入header,如下。
代码如下:
复制代码
代码如下:
<?php
$file_name
=
urlencode($_REQUEST['filename']);
header("Pragma:
public");
header("Expires:
0");
header("Cache-Control:
must-revalidate,
post-check=0,
pre-check=0");
header("Content-Type:
application/force-download");
header('Content-Type:
application/vnd.ms-excel;
charset=utf-8');
header("Content-Transfer-Encoding:
binary");
header('Content-Disposition:
attachment;
filename='.$file_name);
echo
stripslashes($_REQUEST['content']);
?>

9. 运行 php时 画面多了好多notice错误

先分析一下问题吧:

第一个问题:Warning: Invalid argument supplied for foreach():

这是因为foreach仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。

所以当foreach里面的第一个变量不为数组或不存在时,就会产生以上报错的情况。

解决:在foreach的第一个变量前加上(array)。

例如:

foreach((array)$arrayas$value){//(array)强制定义$array为数组
}


第二个问题:Notice: A session had already been started - ignoring session_start():

这是因为session已经被打开了,如果再次打开session_start()就会发出提示。

你可以先判断$_SESSION是否存在,如果不存在则执行session_start()。

例如:

if(!isset($_SESSION)){session_start();}


如果您只需要屏蔽错误信息,那么您可以在PHP代码的最开头加上:

error_reporting(0);


如果您把代码发上来,我可以帮您修改。

10. php出错提示Undefined variable

首先Notice不是错误,是警告,他不会强制程序停止运行

其次
public function getProp($add, $minues) {
$value =$id+$add-$minues;
echo $value;
}
这里面的这个id实际上是没有赋值的,为什么呢?看下面

虽然你在类里面定义了public $id = 78; 但是要调用他,必须这样写
public function getProp($add, $minues) {
$value =$this->id+$add-$minues;
echo $value;
}

像你原来这样写,调用的是这个方法里面的id,但是你又没有定义,所以出现了这个Notice

热点内容
python生成器和迭代器的区别 发布:2025-01-05 13:56:57 浏览:450
穿越火线透视源码 发布:2025-01-05 13:49:31 浏览:927
柯迪亚克智能配置如何 发布:2025-01-05 13:36:03 浏览:403
服务器数据库类型 发布:2025-01-05 12:59:32 浏览:417
编译原理移植 发布:2025-01-05 12:49:16 浏览:319
android开屏 发布:2025-01-05 12:43:54 浏览:290
win7用户文件夹 发布:2025-01-05 12:42:30 浏览:622
java培训班南京 发布:2025-01-05 12:29:36 浏览:733
Idea自动编译是什么 发布:2025-01-05 12:28:02 浏览:528
考试笔试编程 发布:2025-01-05 12:15:45 浏览:157