LAMP下的更新问题:系统是redhat9,自定义安装了php,mysql,apache。所以在安装***的php,mysql,apache版本时候,本人对相关的rpm进行了卸载,忽略依赖关系强制卸载apache;由于php,mysql与perl的bt依赖关系,
LAMP下的更新中的问题
1.当你看到mysql有很多版本,如:
mysql-max-5.0.21-linux-i686-glibc23.tar.gz和
mysql-max-5.0.21-linux-i686.tar.gz
这俩个到底选哪个呢,请你使用如下命令来决定
- # 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
如果出现以上信息,请选择mysql-max-5.0.21-linux-i686-glibc23.tar.gz版本
2:编译php时出现
- ./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,他默认安装路径是/opt/ActivePerl-5.8/bin/perl)
3.安装了perl后,发现所有的文本编辑器都不能用了。
运行vi或者gedit时候,提示找不到libperl.so
到perl的安装目录下找一个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.当我使用mysql-standard-5.0.20,编译php时出现mysql错误:
- 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的时候没有指定一下mysql的安装目录。但是我已经指定了,所以这个说法是错误的,其实主要原因是 mysql-level没有装,也就是mysql的版本不对,应该换
mysql-max-5.0.21版本(包含所有mysql相关内容的软件包)
5.编译php时出现
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单独安装
原来编译php的时候,没有把dpo_mysql相关的参数带上,安装 完后才发现。再重新编译有点费时间,所以决定单独来安装。
先找需要的版本,我用的是稳定的版本。要先看看说明,特别是要注意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
执行完以后,报了个错误:
- checking for mysql_config... not found
- configure: error: Cannot find MySQL header files under
这个错误表明系统缺省没有找到你的mysql安装目录,因此可以使用这个命令解决:
ln -s /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config
这样建立了你的实际msyql安装目录和mysql_config命令的管理
经过configure就可以make了
在执行:./configure 时,又出现了一个问题:
- checking for PDO includes... checking for PDO includes...
- configure: error: Cannot find php_pdo_driver.h.
检查的时候,不能找到php_pdo_driver.h,经过检查,发现在读php-config的时候,在读以前的配置。
解决方法:./configure –with-php-config=/usr/local/php/bin/php-config(根据实际的路径的来指定)
在执行./configure --with-php-config=/usr/local/php/bin/php-config,又出现了一个问题:
error: mysql_query missing!?
解决方法:./configure --with-php-config=/opt/php5/bin/php-config --with-pdo-mysql=/opt/mysql5
(根据自己的实际路径,设定编译安装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即可看到已经加载pdo_mysql成功。
LAMP下的更新中的问题有好多,这只是其中的一部分,如果大家还有什么类似的问题的话,可以贴出来,一起解决一下。
【编辑推荐】