LAMP下的更新問題
LAMP下的更新問題:系統(tǒng)是redhat9,自定義安裝了php,mysql,apache。所以在安裝***的php,mysql,apache版本時(shí)候,本人對相關(guān)的rpm進(jìn)行了卸載,忽略依賴關(guān)系強(qiáng)制卸載apache;由于php,mysql與perl的bt依賴關(guān)系,
LAMP下的更新中的問題
1.當(dāng)你看到mysql有很多版本,如:
mysql-max-5.0.21-linux-i686-glibc23.tar.gz和
mysql-max-5.0.21-linux-i686.tar.gz
這倆個(gè)到底選哪個(gè)呢,請你使用如下命令來決定
- # rpm -qa | grep glibc
- glibc-kernheaders-2.4-8.10
- glibc-common-2.3.2-11.9
- glibc-2.3.2-11.9
- glibc-devel-2.3.2-11.9
如果出現(xiàn)以上信息,請選擇mysql-max-5.0.21-linux-i686-glibc23.tar.gz版本
2:編譯php時(shí)出現(xiàn)
- ./configure: /usr/local/apache2/bin/apxs: /replace/with/path/to/perl/interpreter:
- bad interpreter: No such file or directory
這是找不到perl解釋器的緣故。
修改/usr/local/apache2/bin/apxs文件中:
/replace/with/path/to/perl/interpreter
把他替換成perl所在的路徑如/opt/ActivePerl-5.8/bin/perl,
(如果你下載的是active perl5.8的rpm,他默認(rèn)安裝路徑是/opt/ActivePerl-5.8/bin/perl)
3.安裝了perl后,發(fā)現(xiàn)所有的文本編輯器都不能用了。
運(yùn)行vi或者gedit時(shí)候,提示找不到libperl.so
到perl的安裝目錄下找一個(gè)libperl.so放到/usr/lib目錄下就解決問題了
我的libperl.so在/opt/ActivePerl-5.8/lib/5.8.8/i686-linux-thread-multi-CORE/目錄下。
如果不知道libperl.so在什么地方,可以用
- # locate libperl.so
查找,或者用find命令
4.當(dāng)我使用mysql-standard-5.0.20,編譯php時(shí)出現(xiàn)mysql錯(cuò)誤:
- checking for mSQL support... no
- checking for MSSQL support via FreeTDS... no
- checking for MySQL support... yes
- checking for specified location of the MySQL UNIX socket... no
- checking for MySQL UNIX socket location... /tmp/mysql.sock
- checking for mysql_close in -lmysqlclient... no
- checking for mysql_error in -lmysqlclient... no
- configure: error: mysql configure failed. Please check config.log for more information
.
LAMP下的更新中的問題,安裝PHP的時(shí)候沒有指定一下mysql的安裝目錄。但是我已經(jīng)指定了,所以這個(gè)說法是錯(cuò)誤的,其實(shí)主要原因是 mysql-level沒有裝,也就是mysql的版本不對,應(yīng)該換
mysql-max-5.0.21版本(包含所有mysql相關(guān)內(nèi)容的軟件包)
5.編譯php時(shí)出現(xiàn)
configure: error: freetype2 not found!
沒有安裝freetype-level
configure: error: libpng.(a|so) not found.
沒有安裝libpng-devel
6忘了mysql的root口令怎么辦
- # /usr/local/mysql/support-files/mysql.server stop
- # cd /usr/local/mysql/bin/
- # mysqld_safe --skip-grant-tables &
- # mysqladmin -u user password 'newpassword'
- # mysqladmin flush-privileges
增加pdo_mysql單獨(dú)安裝
原來編譯php的時(shí)候,沒有把dpo_mysql相關(guān)的參數(shù)帶上,安裝 完后才發(fā)現(xiàn)。再重新編譯有點(diǎn)費(fèi)時(shí)間,所以決定單獨(dú)來安裝。
先找需要的版本,我用的是穩(wěn)定的版本。要先看看說明,特別是要注意mysql的php的版本。
- wget
- tar xzvf PDO_MYSQL-1.0.2.tgz
- cd PDO_MYSQL-1.0.2
- /usr/local/php/bin/phpize
- Configuring for:
- PHP Api Version: 20041225
- Zend Module Api No: 20060613
- Zend Extension Api No: 220060519
- ./configure
執(zhí)行完以后,報(bào)了個(gè)錯(cuò)誤:
- checking for mysql_config... not found
- configure: error: Cannot find MySQL header files under
這個(gè)錯(cuò)誤表明系統(tǒng)缺省沒有找到你的mysql安裝目錄,因此可以使用這個(gè)命令解決:
ln -s /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config
這樣建立了你的實(shí)際msyql安裝目錄和mysql_config命令的管理
經(jīng)過configure就可以make了
在執(zhí)行:./configure 時(shí),又出現(xiàn)了一個(gè)問題:
- checking for PDO includes... checking for PDO includes...
- configure: error: Cannot find php_pdo_driver.h.
檢查的時(shí)候,不能找到php_pdo_driver.h,經(jīng)過檢查,發(fā)現(xiàn)在讀php-config的時(shí)候,在讀以前的配置。
解決方法:./configure –with-php-config=/usr/local/php/bin/php-config(根據(jù)實(shí)際的路徑的來指定)
在執(zhí)行./configure --with-php-config=/usr/local/php/bin/php-config,又出現(xiàn)了一個(gè)問題:
error: mysql_query missing!?
解決方法:./configure --with-php-config=/opt/php5/bin/php-config --with-pdo-mysql=/opt/mysql5
(根據(jù)自己的實(shí)際路徑,設(shè)定編譯安裝mysql的位置).
- make
- make install
注意pdo_mysql的全路徑,我的是:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so
然后在/usr/local/lib/php.ini
加上一句:
- extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so
重新啟動apache即可看到已經(jīng)加載pdo_mysql成功。
LAMP下的更新中的問題有好多,這只是其中的一部分,如果大家還有什么類似的問題的話,可以貼出來,一起解決一下。
【編輯推薦】