仅从cli调用未定义的函数oci_connect(在html中正常工作)

时间:2013-12-13 17:28:11

标签: php linux apache command-line-interface oci

环境:
服务器:Ubuntu Server 12.04 x64
Web服务器:Apache 2
PHP :5.3.10-1ubuntu3.8
Oracle :Instant Client 11.2

问题:
我有一个脚本,我将其设置为cron作业,但是当它运行时会生成

  

PHP致命错误;在第25行的/var/www/reports/inc/config.php中调用未定义的函数oci_connect()

如果我通过Apache使用oci_connect或oci_pconnect运行此脚本或任何其他脚本,它们可以正常工作。我刚刚迁移到一台新机器,并且该脚本在上一台机器上运行正常,但我想不出我错过了什么。

脚本的权限与配置文件相同,我尝试以www-data,我的用户帐户和root运行(都提供相同的错误)。

2 个答案:

答案 0 :(得分:0)

在启动脚本之前,您必须指定用户自定义配置文件(.bash_profile或.profile)

  

0 7 * * *。 $ HOME / .bash_profile中; php -e -c /etc/php.ini /var/www/html/script_avec_o​​ci.php

答案 1 :(得分:0)

当您使用shell或crontab中的PHP时,您使用的是CLI版本,而不是Web服务器版本,并且它们通常具有单独的php.ini文件。编辑/etc/php5/cli/php.ini并启用OCI扩展。