php+apache伺服器端常見錯誤

來源:互聯網
上載者:User

 

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

把前面的分號去掉,然後重啟 網頁伺服器。

如果沒有找到以上代碼,請添加以下代碼到 php.ini 中,儲存,並重啟 網頁伺服器:

extension=php_mssql.dll

如果您的伺服器是 linux 系統的,請重新編譯 PHP ,使之成功載入 MSSQL 模組。

2、檢查下 PHP 的安裝根目錄 ext 下是否有 php_mssql.dll ,如果沒有,請下載相應 PHP 版本的 php_mssql.dll 並拷貝到該目錄下

3、下載附件,解壓後,把 ntwdblib.dll 拷貝到 c:/windows/system32/ 下,然後重啟 網頁伺服器

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=2log-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= 1000wait_timeout = 5

如果沒有可以自行添加,修改後重啟 MySQL ,如果經常性的報此錯誤,請做一下伺服器的整體最佳化

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.