mysql與php錯誤解決

longtrue發表於2007-07-23

這兩天在配置snort+base環境,涉及到apache, mysqlphp的安裝與配置。雖然網上都有很多這方面的資料,但由於所用伺服器個性化配置不同,照搬別人的安裝步驟並不能成功。由於第一次同時構設這幾個基礎軟體,還是遇到了不少問題,查詢了不少資料。在解決問題的過程中,對開源系統服務又有了進一點認識。

[@more@]

問題一:不小心竟然刪掉了mysqlmysql.sock檔案,預設資料庫檔案有損壞,導致執行mysqld_safe啟動資料庫時出現下面錯誤

Starting mysqld daemon with databases from /var/lib/mysql

STOPPING server from pid file /var/run/mysqld/mysqld.pid

070722 11:07:31 mysqld ended

嘗試連線一下,mysql –uroot –p 連線時提示:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

解決辦法就是,用mysql_install_db重建資料,然後

/usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=root --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock

問題二:訪問php頁面時,發現只有頭部顯示出來,後面的php程式碼毫無反應,

也沒有輸出。

經過一番檢視apache的日誌,發現php有把warning和一些error資訊寫進去,說明了apache是可以和php互動工作。那應該是php配置的問題了,開啟php.ini檔案,把兩個變數修改成error_reporting = E_ALL & ~E_NOTICE, display_errors = On, 這一次可以列印很多資訊了。

再修改apache的配置檔案httpd.conf,加上

php_flag display_errors on

php_value error_reporting 2039

service httpd restart後,再訪問原來的php檔案,嘩啦嘩啦好幾條錯誤跑了出來,這下心情輕鬆了,原來之前出錯了php不繼續往下解析了,出錯資訊也隱藏了起來。

這兩個選項在高度程式碼時很有用,但釋出版本應該將它關閉,不然會洩漏不少秘密的^_^

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7406370/viewspace-927515/,如需轉載,請註明出處,否則將追究法律責任。

相關文章