Php Laravel未找到使用Laravel-db2的ibm db2驱动程序
我有一台Centos 7机器,带有Php Laravel未找到使用Laravel-db2的ibm db2驱动程序,php,linux,laravel,db2,centos7,Php,Linux,Laravel,Db2,Centos7,我有一台Centos 7机器,带有PHP7.3Apache和一个Laravel5.8应用程序,需要连接到db2(as400)数据库。 我已经通过ibm_数据服务器驱动程序包\u linux64\u v11.5.tar.gz安装了ibm_db2和pdo\u ibm驱动程序和扩展程序。 以上驱动程序安装如下。 对于ibm_db2,我使用了: yum groupinstall 'Development Tools' yum install php-pear php-devel ksh tar -zxf
PHP7.3Apache
和一个Laravel5.8
应用程序,需要连接到db2(as400)
数据库。
我已经通过ibm_数据服务器驱动程序包\u linux64\u v11.5.tar.gz安装了ibm_db2
和pdo\u ibm
驱动程序和扩展程序。
以上驱动程序安装如下。
对于ibm_db2,我使用了:
yum groupinstall 'Development Tools'
yum install php-pear php-devel ksh
tar -zxf ibm_data_server_driver_package_linuxx64_v11.5.tar.gz
mv dsdriver/ /opt/
cd /opt/dsdriver/
chmod +x installDSDriver
ksh installDSDriver
pecl install ibm_db2
对于pdo_ibm,由于pecl需要pdo,并且pecl pdo包已过时,因此我从源代码处编译了pdo_ibm:
pecl download PDO_IBM
tar -xzf PDO_IBM-1.3.6.tgz
cd PDO_IBM-1.3.6/
phpize
./configure --with-pdo-ibm=/opt/dsdriver/lib
make
make install
我还通过iSeries access-7.1.0-1.0.x86\u 64.rpm安装了I系列客户端访问。
当我尝试连接到数据库时,laravel返回
PDO异常找不到驱动程序
我已经安装了iSeries Access-7.1.0-1.0.x86\u 64.rpm。
使用以下命令:
sudo yum install libiodbc
sudo yum install unixODBC.x86_64
sudo yum install unixODBC-devel.x86_64
cd /usr/lib64
sudo ln libodbcinst.so.2 libodbcinst.so.1
sudo ln libodbc.so.2 libodbc.so.1
sudo rpm -ivh iSeriesAccess-7.1.0-1.0.x86_64.rpm --nodeps
#Install apache 2
yum -y install httpd
systemctl start httpd.service
systemctl enable httpd.service
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
#Install php 73
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
yum update
yum-config-manager --enable remi-php73
yum -y install php php-opcache
systemctl restart httpd.service
yum -y install gcc gcc-c++
yum -y install php-cli
yum -y install php-devel
yum -y install php-pdo
yum -y install php-mbstring
yum -y install php-soap
yum -y install php-gd
yum -y install php-xml
yum -y install php-pecl-apcu
yum -y install unzip
yum -y install php-pear
export IBM_DB_HOME=/opt/ibm/dsdriver
export LD_LIBRARY_PATH=/opt/ibm/dsdriver/lib
echo 'export IBM_DB_HOME=/opt/ibm/dsdriver' >> /etc/profile.d/db2env.sh
echo 'export LD_LIBRARY_PATH=/opt/ibm/dsdriver/lib' >> /etc/profile.d/db2env.sh
systemctl start httpd.service
yum install ksh
mv v11.1.4fp4a_linuxx64_dsdriver.tar.gz /opt/ibm/
cd /opt/ibm/
tar xf v11.1.4fp4a_linuxx64_dsdriver.tar.gz
rm v11.1.4fp4a_linuxx64_dsdriver.tar.gz
mkdir /opt/ibm
mv v11.1.4fp4a_linuxx64_dsdriver.tar.gz /opt/ibm/
cd /opt/ibm/
tar xf v11.1.4fp4a_linuxx64_dsdriver.tar.gz
rm v11.1.4fp4a_linuxx64_dsdriver.tar.gz
cd dsdriver/
chmod 755 installDSDriver
ksh installDSDriver
pecl install ibm_db2
echo 'extension=ibm_db2.so' > /etc/php.d/pdo_db2.ini
service httpd restart
pecl download PDO_IBM
tar -xzf PDO_IBM-1.3.6.tgz
cd PDO_IBM-1.3.6/
phpize
./configure --with-pdo-ibm=/opt/dsdriver/lib
make
我还安装了ibm\u data\u server\u driver\u package\u linux64\u v11.5
并添加了ibm\u db2
扩展
My laravel db2连接:
“隐身”=>[
'driver'=>env('steave_DB_driver','db2_ibmi_ibm'),//或'db2_ibmi_ibm'/'db2_zos_odbc'/'db2_expressc_odbc'/'
'driverName'=>env('steave_DB_driverName'、'{iSeries Access ODBC Driver}')、//或'{iSeries Access ODBC Driver}'/'{IBM i Access ODBC Driver 64位}'
“主机”=>env(“隐形数据库主机”,
'username'=>env('steavy_DB_username',''),
'password'=>env('隐身密码',''),
“数据库”=>env(“隐形数据库”,
'prefix'=>env('steavy_DB_prefix',''),
'schema'=>env('steave_DB_schema',''),
“端口”=>env(“隐形数据库端口”,50000),
'date\u format'=>env('Y-m-dh:i:s')、//或'Y-m-dh:i:s.u'/'Y-m-d-H.i.s.u'。。。
“odbc_关键字”=>[
“SIGNON”=>env(“隐身”\u DB\u SIGNON',3),
'SSL'=>env('snealth_DB_SSL',0),
“CommitMode”=>env(“隐形”\u DB\u CommitMode',2),
'ConnectionType'=>env('隐身\u DB\u ConnectionType',0),
“DefaultLibraries”=>env(“隐藏”\u DB\u DefaultLibraries',“”),
'Naming'=>env('隐身'u DB'u Naming',0),
'UNICODESQL'=>env('densive_DB_UNICODESQL',0),
'DateFormat'=>env('Desting_DB_DateFormat',5),
'DateSeparator'=>env('Desting_DB_DateSeparator',0),
'Decimal'=>env('Decimal_DB_Decimal',0),
'TimeFormat'=>env('隐身'u DB'u TimeFormat',0),
'TimeSeparator'=>env('steavy_DB_TimeSeparator',0),
'TimestampFormat'=>env('steave_DB_TimestampFormat',0),
“ConvertDateTimeToChar”=>env(“隐藏”\u DB\u ConvertDateTimeToChar',0),
“BLOCKFETCH”=>env(“隐身”\u DB\u BLOCKFETCH',1),
“BlockSizeKB”=>env(“隐形”\u DB\u BlockSizeKB',32),
“AllowDataCompression”=>env(“隐形”\u DB\u AllowDataCompression',1),
“并发性”=>env(“隐形数据库并发性”,0),
'LAZYCLOSE'=>env('隐身'DB'u LAZYCLOSE',0),
“MaxFieldLength”=>env(“隐身”\u DB\u MaxFieldLength',15360),
“预回迁”=>env(“隐形”\u DB\u预回迁”,0),
'QUERYTIMEOUT'=>env('隐身'u DB'u QUERYTIMEOUT',1),1,
'DefaultPkgLibrary'=>env('detactive_DB_DefaultPkgLibrary','QGPL'),
'DefaultPackage'=>env('隐身\u DB\u DefaultPackage','A/DEFAULT(IBM),2,1,0'),
“ExtendedDynamic”=>env(“隐形”\u DB\u ExtendedDynamic',0),
“QAQINILIBRARY”=>env(“隐形”,
'SQDIAGCODE'=>env('SQDIAGCODE',''),
'LANGUAGEID'=>env('snealth_DB_LANGUAGEID','ENU'),
“SORTTABLE”=>env(“隐身”,
'SortSequence'=>env('snealth_DB_SortSequence',0),
“SORTWEIGHT”=>env(“隐身”\u DB\u SORTWEIGHT',0),
“AllowUnsupportedChar”=>env(“隐身”\u DB\u AllowUnsupportedChar',0),
‘CCSID’=>env(‘隐形’DB_CCSID',819),819,
'GRAPHIC'=>env('隐形'u DB'u GRAPHIC',0),
‘ForceTranslation’=>env(‘隐形’DB_ForceTranslation’,0),
'ALLOWPROCCALLS'=>env('隐身\u DB\u ALLOWPROCCALLS',0),
'DB2SQLSTATES'=>env('0),
'DEBUG'=>env('隐身'u DB'u DEBUG',0),
“TRUEAUTOCOMMIT”=>env(“隐身”\u DB\u TRUEAUTOCOMMIT',0),
“CATALOGOPTIONS”=>env(“隐形”\u DB\u CATALOGOPTIONS',3),
“LibraryView”=>env(“隐身”数据库“LibraryView”,0),
'odbcaments'=>env('隐身'DB'u odbcaments',0),
“SEARCHPATTERN”=>env(“隐身”\u DB\u SEARCHPATTERN',1),
“TranslationDLL”=>env(“隐形”,
“TranslationOption”=>env(“隐形”\u DB\u TranslationOption',0),
'MAXTRACESIZE'=>env('隐身\u DB\u MAXTRACESIZE',0),
“MultipleTraceFiles”=>env(“隐身”\u DB\u MultipleTraceFiles',1),
'TRACE'=>env('隐身'DB'u TRACE',0),
'TRACEFILENAME'=>env('隐身\u DB\u TRACEFILENAME',''),
'ExtendedColInfo'=>env('steavy_DB_ExtendedColInfo',0),
],
“选项”=>[
PDO::ATTR_CASE=>PDO::CASE_LOWER,
PDO::ATTR_PE
#Install apache 2
yum -y install httpd
systemctl start httpd.service
systemctl enable httpd.service
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
#Install php 73
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
yum update
yum-config-manager --enable remi-php73
yum -y install php php-opcache
systemctl restart httpd.service
yum -y install gcc gcc-c++
yum -y install php-cli
yum -y install php-devel
yum -y install php-pdo
yum -y install php-mbstring
yum -y install php-soap
yum -y install php-gd
yum -y install php-xml
yum -y install php-pecl-apcu
yum -y install unzip
yum -y install php-pear
export IBM_DB_HOME=/opt/ibm/dsdriver
export LD_LIBRARY_PATH=/opt/ibm/dsdriver/lib
echo 'export IBM_DB_HOME=/opt/ibm/dsdriver' >> /etc/profile.d/db2env.sh
echo 'export LD_LIBRARY_PATH=/opt/ibm/dsdriver/lib' >> /etc/profile.d/db2env.sh
systemctl start httpd.service
yum install ksh
mv v11.1.4fp4a_linuxx64_dsdriver.tar.gz /opt/ibm/
cd /opt/ibm/
tar xf v11.1.4fp4a_linuxx64_dsdriver.tar.gz
rm v11.1.4fp4a_linuxx64_dsdriver.tar.gz
mkdir /opt/ibm
mv v11.1.4fp4a_linuxx64_dsdriver.tar.gz /opt/ibm/
cd /opt/ibm/
tar xf v11.1.4fp4a_linuxx64_dsdriver.tar.gz
rm v11.1.4fp4a_linuxx64_dsdriver.tar.gz
cd dsdriver/
chmod 755 installDSDriver
ksh installDSDriver
pecl install ibm_db2
echo 'extension=ibm_db2.so' > /etc/php.d/pdo_db2.ini
service httpd restart
pecl download PDO_IBM
tar -xzf PDO_IBM-1.3.6.tgz
cd PDO_IBM-1.3.6/
phpize
./configure --with-pdo-ibm=/opt/dsdriver/lib
make
/bin/sh /root/PDO_IBM-1.3.6/libtool --mode=link cc -DPHP_ATOM_INC -I/root/PDO_IBM-1.3.6/include -I/root/PDO_IBM-1.3.6/main -I/root/PDO_IBM-1.3.6 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/include -DHAVE_CONFIG_H -g -O2 -o pdo_ibm.la -export-dynamic -avoid-version -prefer-pic -module -rpath /root/PDO_IBM-1.3.6/modules pdo_ibm.lo ibm_driver.lo ibm_statement.lo -Wl,-rpath, -L -ldb2
libtool: link: require no space between `-L' and `-ldb2'
make: *** [pdo_ibm.la] Error 1