當前位置:首頁 » 編程語言 » 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

熱點內容
c語言求迴文數 發布:2025-01-03 08:47:44 瀏覽:832
跑腳本什麼意思 發布:2025-01-03 08:29:57 瀏覽:653
sql的聯合查詢 發布:2025-01-03 08:28:21 瀏覽:687
矩陣的轉置編程 發布:2025-01-03 08:24:24 瀏覽:20
linux語言環境 發布:2025-01-03 08:24:21 瀏覽:450
c加密軟體 發布:2025-01-03 08:21:01 瀏覽:249
圖形界面linux 發布:2025-01-03 08:08:34 瀏覽:861
腳本網購 發布:2025-01-03 08:03:06 瀏覽:913
為什麼主題商店顯示伺服器在忙 發布:2025-01-03 07:48:43 瀏覽:120
sqlif函數的使用方法 發布:2025-01-03 07:41:09 瀏覽:714