环境:macos
php版本:7.4
利用:docker
我得先喷一下 刚开始装的x86 官网上下载的居然没有pdo扩展
最后在网上找到了arm64的扩展 简直了...
1。编写dockerfile
FROM bai615/arm64-php:7.4.33-fpm
RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list && \
sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
WORKDIR /home/www-root
EXPOSE 9000
docker build -t macphp
2.启动镜像
docker run -d --name php-fpm -v /本地目录:/home/www-root -p 9007:9000 macphp-1
3、修改本地nginx为docker的目录
需要设置
root /home/www-root/admin;
php配置为
location ~ [^/]\.php(/|$)
{
fastcgi_pass 127.0.0.1:9007;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; #按照自己本地设置
include paths.conf; #按照自己本地设置
}
4。安装神通数据库的链接库 和aci pdo
复制 libaci.so 和 pdo_aci_nts.so 分别到docker的
/usr/local/lib/php/extensions/no-debug-non-zts-20190902
然后ldd 查看一下依赖库 libaci.so
没有什么就安装什么 一般这个是全的
如:
linux-vdso.so.1 (0x00007ffd41fdf000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2ad3e48000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2ad3c7b000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2ad3c75000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2ad3c5b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2ad3a86000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2ad42b6000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2ad3942000)
把/usr/local/lib/php/extensions/no-debug-non-zts-20190902添加到ld.so.conf里面
如下
/usr/local/lib/php/extensions/no-debug-non-zts-20190902/acis
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
至此扩展安装成功
然后进入docker的
/usr/local/etc/php/conf.d
新建一个docker-php-ext-pdo_aci_nts.ini
内容为extension=pdo_aci_nts.so