我在 PHP 页面中使用
odbc_connect()
连接到 HANA 数据库。当我在本地运行它时效果很好。
我将相同的 PHP 页面上传到服务器中,但收到此错误:
致命错误:调用未定义的函数 odbc_connect()
代码:
$connect = odbc_connect("Team6DataSource", "TEAM6", "Password1", SQL_CUR_USE_ODBC);
Team6DataSource = 数据源名称。
IP 地址 = 54.217.234.218
有人可以帮助我吗? 谢谢
我刚刚通过谷歌获取这个说明这对你来说真的很有帮助。
(LD_LIBRARY_PATH, LIBPATH, LD_RUN_PATH,
SHLIB_PATH depending on the driver, platform and linker).
在
/etc/odbc.ini
中创建连接到
SQL Server database
您想从 PHP 访问。例如,这个
SQL Server ODBC 数据源连接到 SQL Server Express 实例
为 Northwind 数据库提供服务:
cd /usr/local/easysoft/unixODBC/bin
./isql -v MSSQL-PHP
[MSSQL-PHP] Driver = Easysoft ODBC-SQL Server Server = my_machine\SQLEXPRESS User = my_domain\my_user Password = my_password
请复制并粘贴此脚本并执行此
<?
/*
PHP MSSQL Example
Replace data_source_name with the name of your data source.
Replace database_username and database_password
with the SQL Server database username and password.
*/
$data_source='data_source_name';
$user='database_username';
$password='database_password';
// Connect to the data source and get a handle for that connection.
$conn=odbc_connect($data_source,$user,$password);
if (!$conn){
if (phpversion() < '4.0'){
exit("Connection Failed: . $php_errormsg" );
}
else{
exit("Connection Failed:" . odbc_errormsg() );
}
}
// This query generates a result set with one record in it.
$sql="SELECT 1 AS test_col";
# Execute the statement.
$rs=odbc_exec($conn,$sql);
// Fetch and display the result set value.
if (!$rs){
exit("Error in SQL");
}
while (odbc_fetch_row($rs)){
$col1=odbc_result($rs, "test_col");
echo "$col1\n";
}
// Disconnect the database from the database handle.
odbc_close($conn);
?>
data_source_name, database_username and database_password
使用您的 SQL Server ODBC 数据源、登录名和密码。要在 Apache 下运行脚本,请将文件保存在 Apache Web 下 服务器的文档根目录
. For example,
/var/www/apache2-default/php-mssql-connection.phtml. Then view the
file in a web browser:
http://localhost/php-mssql-connection.phtml
要从命令行运行脚本,请保存文件。
例如, /tmp/php-mssql-connection.php。然后运行 $php /tmp/php-mssql-connection.php.
下载this,将
.dll
复制到PHP文件夹并在php.ini
文件中添加:
extension=php_sqlsrv_7_ts_x64.dll
extension=php_pdo_sqlsrv_7_nts_x64.dll
窗户
我下载了 apache 2.4 x64 zip;复制到:D:\Apache24-devel
https://www.apachelounge.com/download/
我下载了 php 8.3 threadsafe x64 zip;复制到 D:\php-8-ts
请注意,在下面的路径中,我使用“/...”而不带驱动器号“D:”,因为我在同一驱动器号“D:”上安装/解压了 Apache 和 PHP。
在 Apache conf/httpd.conf 中:
LoadModule php_module "/php-8-ts/php8apache2_4.dll"
AddHandler application/x-httpd-php .php
<FilesMatch \.(php$|php3)>
SetHandler application/x-httpd-php
</FilesMatch>
# configure the path to php.ini
PHPIniDir "/php-8-ts/"
在 php-8-ts/php.ini 中:
extension=odbc
extension_dir = "D:/php-8-ts/ext"
用于配置检查 (odbc) 创建:
D:/Apache24-devel/htdocs/dirX/phpinfo.php:
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);
?>
使用/检查:
http://localhost/dirX/phpinfo.php