要在 Linux 或 Solaris 上使用 SQL Anywhere PHP 模块,您必须从 SQL Anywhere 安装目录中复制共享对象,并将其添加到 PHP 安装目录中。或者,可以将一个条目添加到 PHP 初始化文件 php.ini 中以装载模块,从而不需要在每个脚本中手工装载该模块。
找到 PHP 安装目录中的 php.ini 文件,并在文本编辑器中将其打开。找到指定 extension_dir 目录位置的行。如果未将 extension_dir 设置到任何特定目录,则为获得更好的系统安全,最好将其设置为指向一个单独的目录。
将共享对象从 SQL Anywhere 安装目录的 lib32 或 lib64 子目录复制到 php.ini 文件中的 extension_dir 条目指定的目录中。共享对象的选择将取决于已安装的 PHP 的版本以及该版本是 32 位还是 64 位。
如果您的 PHP 版本比 SQL Anywhere 提供的共享对象新,请尝试使用所提供的最新共享对象。注意,5.2.x 版本的 SQL Anywhere PHP 模块不能与 5.3.x 版本的 PHP 一起工作。
有关使用哪个共享对象版本的信息,请参见选择要使用的 PHP 模块。
将以下行添加到 php.ini 文件的动态扩展部分,以自动装载 SQL Anywhere PHP 驱动程序。该条目必须标识您复制的共享对象
extension=php-5.x.y_sqlanywhere.so |
或线程安全共享对象,
extension=php-5.x.y_sqlanywhere_r.so |
其中 5.x.y 是在上一步中所复制的 PHP 共享对象的版本号。
保存并关闭 php.ini。
如果不自动装载 PHP 驱动程序,也可以在每个需要 PHP 驱动程序的脚本中手工装载。请参见配置 SQL Anywhere PHP 模块。
尝试使用 PHP 模块前,请校验是否为 SQL Anywhere 设置了合适的 PHP 执行环境。根据您正在使用的 shell,必须为您的 Web 服务器的环境编辑配置脚本并添加相应的命令以从 SQL Anywhere 安装目录执行 SQL Anywhere 配置脚本:
在此 shell 中…… | ... 使用此命令 |
---|---|
sh、ksh 或 bash | . /bin32/sa_config.sh |
csh 或 tcsh | source /bin32/sa_config.csh |
SQL Anywhere PHP 扩展 DLL 的 32 位版本需要您的路径中包含 bin32 目录。SQL Anywhere PHP 扩展 DLL 的 64 位版本需要您的路径中包含 bin64 目录。
对于不同的 Web 服务器和 Linux 分布,应在其中插入该命令行的配置文件是不同的。以下是指示分布上的 Apache 服务器的一些示例:
RedHat/Fedora/CentOS /etc/sysconfig/httpd
Debian/Ubuntu /etc/apache2/envvars
必须在编辑了 Web 服务器的环境配置后重新启动它。
在命令提示符处输入以下命令以启动 SQL Anywhere 示例数据库:
dbeng11 samples-dir/demo.db |
在命令提示符处,更改为 SQL Anywhere 安装目录的 sdk/php/examples 子目录。输入以下命令:
php test.php |
应该会出现类似以下内容的消息。如果无法识别此 php 命令,请验证它是否在路径中。
Installation successful Using php-5.2.6_sqlanywhere.so Connected successfully |
当您完成时,停止数据库服务器。
有关详细信息,请参见创建 PHP 测试页。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |