php扩展编译,又遇“PHP Startup: Invalid library (maybe not a PHP library)”

关于php与mysql之间的工作机制,今天蛋疼地考虑php编译安装时不添加--with-mysql参数,是否可以实现mysql_connect()函数。

第一次编译只是简单的

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc
make && make install

mysql_connect()果然使用不了,本来想yum安装php-mysql,想着好久没有扩展编译。

于是又开始折腾了。

cd ext/mysql
/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql

接着在配置文件php.ini添加extension,果断遇到报错。

NOTICE: PHP message: PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) ‘/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/mysql.so‘ in Unknown on line 0

折腾着extension,extension_dir两个选项,各种组合都使用过了。只好上搜索引擎了,两个小时后还是没有在网上找到能解决的方案。这时把注意力想到php安装环节,以上的php已经是第二安装了。之前只做过删除安装目录,源码包的文件继续使用之前解压出来的。

rm -rf /usr/local/php

然后,再来一次

rm src -rf (记性太差了,这次忘记删除安装目录了/usr/local/php)
tar zxvf php-5.x.x.tar.gz
cd php-5.x.x
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc
make && make install
cd ext/mysql
/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql

由于安装目录没有删除,配置文件就没有动过了。

测试,成功。突然觉得好坑,自己坑得不去删除源码解压包,php官网坑得不重置某些环境。

php扩展编译,又遇“PHP Startup: Invalid library (maybe not a PHP library)”,布布扣,bubuko.com

时间: 2024-12-25 22:23:52

php扩展编译,又遇“PHP Startup: Invalid library (maybe not a PHP library)”的相关文章

ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法

sass文件编译时候使用ruby环境,无论是界面化的koala工具还是命令行模式的都无法通过,真是令人烦恼. 容易出现中文注释时候无法编译通过,或者出现乱码,找了几天的解决方法终于解决了. 这个问题的奇葩之处在于在xp环境中没有任何问题,只是在windows7环境中才出现的这个. sass编译时候出现如下错误的解决方法: Syntax error: Invalid GBK character "\xE5" on line 8 of E:\work\sass\sass\_big_box.

php编译安装,cgi启动,以及memcache扩展编译安装.

先安装必须的依赖库(参数-y:apt-get命令参数详解 http://hi.baidu.com/usen68/item/942891e5de324f0f8d3ea885): 1 sudo apt-get -y install autoconf && 2 sudo apt-get -y install libxml2-dev && 3 sudo apt-get -y install bzip2 && 4 sudo apt-get -y install lib

php扩展编译(以php-mongodb为例)

1)到 https://pecl.php.net/ 上搜索并下载(wget)你需要的扩展的源码包 2)解压并切换进入扩展包的目录 3)使用phpize工具自动生成 configure 4)configure配置扩展 5)编译并安装扩展 [下面以编译php的mongodb扩展来做一个代码参考]

php 扩展编译linux

进入扩展库目录:$cd phpredis-master 需要root权限执行 执行:$ phpize 执行:$ ./configure 执行:$ make 执行:$ make install 编译完成,会生成.so文件在当前扩展库的目录下 然后,将.so文件拷贝到php扩展目录下(不同环境下的扩展目录不一样哦) 然后在php.ini中配置扩展 再重启 apache 就可以生效啦!

windows下安装mongodb扩展出现 PHP Warning: PHP Startup: in Unknown on line 0

系统 windows7 集成环境 xampp 1.8.3 php-mongo.dll下载地址 http://pecl.php.net/package/mongo/1.6.0RC2/windows 选择对应的版本下载 将php-mongo.dll放入php的ext文件夹下 修改php.ini. 但是在安装mongodb扩展的时候 出现了PHP Warning:  PHP Startup:  in Unknown on line 0的问题 版本没问题 php版本是5.5.11 和 php-mongo

php扩展编译方法

linux下php已经编译,如何再为php增加新的扩展通过php自带的phpize,如我的phpize在/usr/local/php/bin/phpize1.到软件的官方或pecl.php.net去下载源码包2.解压并进入到解压后的目录3.根据当前php版本动态的创建扩展的configure文件 /usr/local/php/bin/phpize --with-php-config=/usr/local/php/bin/php-config 4.用生成的configure文件执行 ./confi

Android源码编译:出现zip error: Invalid command arguments解决办法

前段时间出版本编译的时候,偶然间发现了这个问题: zip error: Invalid command arguments (cannot repeat names in zip file) make: *** [out/target/product/k200_hdmiin/system/etc/recovery-resource.dat] Error 16 make: *** Waiting for unfinished jobs.... 背景介绍 博主目前从事AndroidTVBox开发,基

编译存储过程遇ddl锁

有时候我们对存储过程的一个新的版本需要上线,可能是做了性能优化或者是功能的添加或改进,如果此时存储过程正在被程序调用,执行起来会花很长时间,这可能已经超出了我们的上线窗口,那怎么办,有些人可能会想到将客户端的连接断开,支持会话的服务器进程自然会被pmon所清理,但是往往事与愿违,存储过程依旧在执行,最有效的办法是在服务器上找到对应将此会话所session 所对应的会话杀了,还不行只有物理上干掉服务器进程了.首先要做的是找到server process 的sid;执行存储过程的时候需要获取对象上的

php 常见扩展编译时必须的参数汇总

01,[ mysqli ]MySQL 数据库访问 --with-php-config=/root/software/php/bin/php-config => mysql 安装目录下的 /bin/php-config 文件 依赖 => mysql 客户端,简易安装方式 yum -y install mysql-devel 02,[ pdo_mysql ]MySQL数据库访问的 基于 PDO 扩展 --with-pdo-mysql=/root/software/mysql  => mysq