为了账号安全,请及时绑定邮箱和手机立即绑定

php在虚拟机上编译,生成扩展文件全部是.dll不是.so

php在虚拟机上编译,生成扩展文件全部是.dll不是.so

PHP
紫衣仙女 2019-03-13 12:05:25
本机:win1o虚拟机:Vmware2017--centos6.5编译PHP:安装依赖包:yum install -y libxml2-devel libicu-devel libpng-devel libjpeg-turbo-devel libmcrypt-devel libcurl-devel bzip2-devel openssl-devel gmp-devel freetype-devel./configure \ --prefix=/usr/local/php \ --enable-bcmath \ --enable-exif \ --enable-fpm \ --enable-mbstring \ --enable-soap \ --enable-sockets \ --enable-zip \ --with-bz2 \ --with-curl \ --with-freetype-dir \ --with-gd \ --with-gettext \ --with-gmp \ --with-jpeg-dir=/usr/lib64 \ --enable-mysqlnd \ --with-mysql=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-openssl \ --with-pdo-mysql=/usr/local/mysql \ --with-png-dir=/usr/lib64 \ --with-readline \ --with-tsrm-pthreads \ --with-xmlrpc \ --with-zlib 我编译完后:打开php.int如图 为什么全部是 .dll文件?我打开phpinfo()提示GD开启,但是我去掉配置文件中的 ‘;’就报错,说找不到相应的php_gd2.dll文件,尝试解决: 1.不改,去掉“;”提示没有文件 2.将.dll文件改成.so文件,报错, 3.重新再源码包的位置追加GD扩展,指定到相关目录下提示:也是报错,说格式不对什么的。 4.重新编译整个PHP,换了版本也不行,照样是生成.dll扩展文件 下面是编译后扩展路径下的文件: 正确的编译后,php.int应该是 这样编译后后果是:1.phpinfo()中提示扩展都能用但是,去掉;所有的扩展都不能用, 解决:1.去源码目录拷贝,没有发现有.dll文件 2.重新编译扩展,放到扩展目录下,提示.so文件不能用 3.去windos下拷贝对应的.dll提示报错不能用 4.改php.ini中的.dll为.so或者去掉后缀都提示错误 2.为什么我在虚拟机下编译的扩展是.dll?而不是.so?3.在源码扩展目录下gd:也没有发现有gd2_.dll文件下面有大哥回复说: 1.我步骤不对,其实我整个流程没有错, 2.说;extension=php_bz2.dll是WINDOS对应的扩展,跟linux无关,但是我在整个文件中搜索都没有找到和所以扩展相关的地方了,比如搜索;extension=或者是搜扩展关键词,都找不到extension=*gd2.so或者extension=;都没有!!! 是不是在 [gd]; Tell the jpeg decode to ignore warnings and try to create; a gd image. The warning will then be displayed as notices; disabled by default; http://php.net/gd.jpeg-ignore...;gd.jpeg_ignore_warning = 0加上extension=gd2extension=gd2.so我尝试了都报错
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

参见 Centos 7 Nginx + PHP 安装步骤

我用的也是Yii2,所以不存在兼容问题。

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 523 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信