简体   繁体   English

致命错误:未捕获错误:通过命令提示符运行php脚本时调用未定义函数oci_connect()

[英]Fatal error: Uncaught Error: Call to undefined function oci_connect() while running the php script through command prompt

I have a php script which uploads data to oracle database. 我有一个php脚本,可将数据上传到oracle数据库。 When i am running it through my web browser it is working fine. 当我通过Web浏览器运行它时,它工作正常。 However when i am running it through my command prompt it is giving error : "Fatal error: Uncaught Error: Call to undefined function oci_connect() in C:\\wamp64\\www\\MyLogs\\logs2.php:2 Stack trace: 但是,当我通过命令提示符运行它时,出现错误:“致命错误:未捕获的错误:调用C:\\ wamp64 \\ www \\ MyLogs \\ logs2.php:2中未定义的函数oci_connect():堆栈跟踪:

0 {main} 0 {main}

thrown in C:\\wamp64\\www\\MyLogs\\logs2.php on line 2" 在第2行的C:\\ wamp64 \\ www \\ MyLogs \\ logs2.php中抛出“

I checked all the previous queries related to this topic and i set the PATH variable, made changes in php.ini file(extension=php_oci8_12c.dll) and tried below steps to run my script but still no luck. 我检查了与该主题相关的所有先前查询,并设置了PATH变量,在php.ini文件中进行了更改(extension = php_oci8_12c.dll),并尝试了以下步骤来运行我的脚本,但仍然没有运气。

cd C:\\wamp64\\bin\\php\\php7.2.4\\ php.exe -f C:\\wamp64\\www\\MyLogs\\my_script.php cd C:\\ wamp64 \\ bin \\ php \\ php7.2.4 \\ php.exe -f C:\\ wamp64 \\ www \\ MyLogs \\ my_script.php

Can someone please guide what can be possible error. 有人可以指导可能出现的错误吗? I am attaching my php script. 我附上我的PHP脚本。

 <?php $conn = oci_connect('ABC', 'abcABC123', 'abcd1142/AXD'); if (!$conn) { $m = oci_error(); echo $m['message'], "\\n"; exit; } else { $d = new DateTime(); $yesterday = $d->sub(new DateInterval('P1D'))->format('Ymd'); $filename = "access.$yesterday.txt"; if(file_exists($filename)){ $myfile = fopen($filename, "r"); while(!feof($myfile)) { $content= fgets($myfile); $carray=explode(',',$content); list($IP_ADDRESS, $USER_IDENTIFIER, $USERID , $REQUEST_TIME , $CLIENT_REQUEST ,$RESPONSE_CODE ,$SIZEOFOBJECT, $COOKIES, $AUTHSCHEME, $AUTHMARKET, $X_REQUESTED_WITH, $ENV, $TANUSER)=$carray; $img=['.gif', '.jpeg', '.png']; if (strlen(str_replace($img, '', $CLIENT_REQUEST)) !== strlen($CLIENT_REQUEST)) { // Found an image continue; } $stdii = 'INSERT INTO LOGS(IP_ADDRESS, USER_IDENTIFIER, USERID , REQUEST_TIME , CLIENT_REQUEST ,RESPONSE_CODE ,SIZEOFOBJECT, COOKIES, AUTHSCHEME, AUTHMARKET, X_REQUESTED_WITH, ENV, TANUSER)'. 'values(:IP_ADDRESS, :USER_IDENTIFIER, :USERID , :REQUEST_TIME , :CLIENT_REQUEST ,:RESPONSE_CODE ,:SIZEOFOBJECT, :COOKIES, :AUTHSCHEME, :AUTHMARKET, :X_REQUESTED_WITH, :ENV, :TANUSER)'; $compiled1 = oci_parse($conn, $stdii); oci_bind_by_name($compiled1, ':IP_ADDRESS', $IP_ADDRESS); oci_bind_by_name($compiled1, ':USER_IDENTIFIER', $USER_IDENTIFIER); oci_bind_by_name($compiled1,':USERID', $USERID); oci_bind_by_name($compiled1, ':REQUEST_TIME', $REQUEST_TIME); oci_bind_by_name($compiled1, ':CLIENT_REQUEST', $CLIENT_REQUEST); oci_bind_by_name($compiled1, ':RESPONSE_CODE', $RESPONSE_CODE); oci_bind_by_name($compiled1, ':SIZEOFOBJECT', $SIZEOFOBJECT); oci_bind_by_name($compiled1, ':COOKIES', $COOKIES); oci_bind_by_name($compiled1, ':AUTHSCHEME', $AUTHSCHEME); oci_bind_by_name($compiled1, ':AUTHMARKET', $AUTHMARKET); oci_bind_by_name($compiled1, ':X_REQUESTED_WITH', $X_REQUESTED_WITH); oci_bind_by_name($compiled1, ':ENV', $ENV); oci_bind_by_name($compiled1, ':TANUSER', $TANUSER); oci_execute($compiled1, OCI_COMMIT_ON_SUCCESS); } //Alert if the file has been uploaded $message="File Uploaded"; echo "<script type='text/javascript'>alert(\\"$message\\");</script>"; //closing the file fclose($myfile); } else{ //Alert if the file doesn't exists $message2="File Doesn't exists"; echo "<script type='text/javascript'>alert(\\"$message2\\");</script>"; } } //Close the database connection oci_close($conn); ?> 

After struggling with every possible way to resolve my query, i found that are two php.ini files. 在竭尽全力解决我的查询后,我发现这是两个php.ini文件。 One is for the command line execution which is located at C:\\wamp\\bin\\php\\php5.4.16 , while one is for PHP inside Apache located at C:\\wamp\\bin\\apache\\Apache2.4.4\\bin. 一种用于位于C:\\ wamp \\ bin \\ php \\ php5.4.16的命令行执行,而另一种则用于位于C:\\ wamp \\ bin \\ apache \\ Apache2.4.4 \\ bin的Apache内部的PHP。 You can check the locations of php.ini files via php -i (for the CLI) and (for the web server). 您可以通过php -i(对于CLI)和(对于Web服务器)检查php.ini文件的位置。 So when you want to run your script through command line you need to make configuration changes in the one located at php folder. 因此,当您想通过命令行运行脚本时,需要在php文件夹中的一个配置中进行更改。 Just uncomment or add below line: extension_dir ="c:/wamp64/bin/php/php7.2.4/ext/" extension=php_oci8_12c.dll 只需取消注释或在下面的行中添加:extension_dir =“ c:/wamp64/bin/php/php7.2.4/ext/” extension = php_oci8_12c.dll

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 PHP8 + Oracle OCI8 =&gt; 致命错误:未捕获错误:调用未定义的函数 oci_connect() - PHP8 + Oracle OCI8 => Fatal error: Uncaught Error: Call to undefined function oci_connect() 致命错误:调用未定义的函数 oci_connect() php 错误 - Fatal error: Call to undefined function oci_connect() php error 致命错误:调用Wamp中未定义的函数oci_connect() - Fatal error: Call to undefined function oci_connect() in Wamp 致命错误:调用未定义函数oci_connect() - Fatal error: Call to undefined function oci_connect() PHP中的Oracle连接错误。 致命错误:调用未定义函数oci_connect() - Oracle Connection Error in PHP. Fatal error: Call to undefined function oci_connect() 无法加载oci8 - &gt;致命错误:调用未定义的函数oci_connect() - can not load oci8 -> Fatal error: Call to undefined function oci_connect() 致命错误:在第3行的C:\\ xampp \\ htdocs \\ Project1 \\ connect.php中调用未定义函数oci_connect() - Fatal error: Call to undefined function oci_connect() in C:\xampp\htdocs\Project1\connect.php on line 3 致命错误:在Windows 10上运行的Oracle 10g中,在Wamp Server 3.0中调用未定义函数oci_connect() - Fatal error: Call to undefined function oci_connect() in wamp server 3.0 with oracle 10g running on windows 10 如何修复 wamp 服务器中的错误“未捕获的错误:调用未定义的 function oci_connect()”? - How to fix error “Uncaught Error: Call to undefined function oci_connect()” in wamp server? 致命错误:在第71行的C:\\ xampp81 \\ htdocs \\ aaainc \\ db.php中调用未定义函数oci_connect() - Fatal error: Call to undefined function oci_connect() in C:\xampp81\htdocs\aaainc\db.php on line 71
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM