【问题标题】:PHP Script runs fine in browser but not through Command Line [closed]PHP脚本在浏览器中运行良好,但不能通过命令行[关闭]
【发布时间】:2013-03-06 11:43:05
【问题描述】:

我在 Windows 7 上使用 Xampp。我有以下简单脚本

<?php 
require("classes/autoloader-class.php"); 
$query=new login();
$query->Query("INSERT INTO  poupdate(`po`, `fval`, `nr`, `fsa`, `act`, `doctype`, `usr`) VALUES ('PO','Fval','nr','FSA','ACT','DOCTYPE','USER')");
?>  

脚本在浏览器中运行良好,记录插入到数据库中,但是当我尝试通过以下 PHP 命令时,没有插入记录

D:\xampp\php\php.exe -c -f D:\xampp\htdocs\mytest\test.php

当我回显某些内容时,它会在命令行中输出文本;所以我认为mysql有问题但没有错误。

请注意-c 用于从 php.ini 加载库

如何排除故障?提前致谢

[跟随命令帮助我执行命令]

D:\xampp\htdocs\mytest>D:\xampp\php\php.exe -c -f test.php

【问题讨论】:

  • 控制台是否输出任何错误/警告?
  • 可能出现致命错误。尝试在require 中提供完整路径,然后重试。
  • 要查看错误,您需要打开错误报告。只需在脚本顶部添加ini_set('display_errors', true) 并重试。
  • 这样试试。 "D:\xampp\php\php.exe" -c -f "D:\xampp\htdocs\mytest\test.php"
  • @MuthuKumaran 它正在加载所有链接,我通过更改需要路径检查它并显示致命错误

标签: php mysql command-line


【解决方案1】:

您能注意到require("classes/autoloader-class.php");D:\xampp\htdocs\mytest\test.php 之间的任何偏差吗?就像,您正在包含具有类 UNIX 目录分隔符的文件,以及具有类 Windows 的运行脚本。

应该给你一个错误,检查你的php.ini

【讨论】:

  • 我没有显示错误
  • @Muhammad Haseeb Khan 在您的 php.ini 中,error_reporting 设置为什么值?
  • 下面是 error_reporting = E_ALL &amp; ~E_NOTICE 条目,意思是“显示除通知和编码标准警告之外的所有错误”
  • 我也编辑了我的问题,mysql connection 似乎有问题,因为脚本运行良好,如果我使用 echo 也会输出。但是数据不是通过命令行插入数据库中的
【解决方案2】:

只是一个想法。通过命令行执行时,哪个目录是工作路径?即:执行命令时你“站在”哪里?

先尝试移动到mytest 文件夹。

> D:
> cd D:\xampp\htdocs\mytest

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-16
    • 1970-01-01
    • 2023-03-28
    • 2023-04-01
    • 2014-05-25
    相关资源
    最近更新 更多