我已经把这个问题归结为问题并使其变得干净,以便你能更方便地帮助我.
我有一个非常简单的代码:
<?php
echo "Hello world";
?>
Run Code Online (Sandbox Code Playgroud)
这完全没问题.
如果我运行以下代码(解析错误)我没有收到任何错误,但仍显示文本"Hello world":
<?php
echo "Hello world";
piwejfoiwjefoijwef
?>
Run Code Online (Sandbox Code Playgroud)
如果我在代码之前放置解析错误但是不显示"Hello world":
<?php
piwejfoiwjefoijwef
echo "Hello world";
?>
Run Code Online (Sandbox Code Playgroud)
当我打印phpinfo(在同一个文件中,同一目录)时,我有以下设置:display_errors On display_startup_errors on error_reporting 1
如果我还尝试在脚本中设置错误报告并使用以下代码运行它,我仍然不会收到任何错误或警告但显示文本"Hello world":
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE); ini_set('display_errors', '1');
echo "Hello world";
owieufpowiejf
?>
Run Code Online (Sandbox Code Playgroud)
我的php.ini文件具有以下值(我已重新启动Apache):
error_reporting = E_ERROR & ~E_DEPRECATED
display_errors = On
display_startup_errors = On
Run Code Online (Sandbox Code Playgroud)
我在Amazon AMI上使用64位AWS EC2运行Apache/PHP/MySQL.我不熟悉服务器配置.当我转换到亚马逊服务器时,错误开始了.除了错误报告,服务器和Apache/PHP运行完美.
请指导我如何解决问题.
谢谢!
所以我要做的是拿2个字符串并创建2个文件.然后从这些文件中创建一个zip文件,让用户下载它们.
这是我有的:
$string1 = 'Some data some data some data';
$string2 = 'Some data some data some data';
$zip = new ZipArchive();
$filename = "test.zip";
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}
$zip->addFromString("string1.txt", $string1);
$zip->addFromString("string2.txt", $string2);
$zip->close();
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$filename."\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize('test.zip'));
Run Code Online (Sandbox Code Playgroud)
到目前为止没有运气.任何帮助表示赞赏.
我目前正在尝试使用名为Mosquitto PHP(https://github.com/mgdm/Mosquitto-PHP/)的PHP插件。我已经正确安装了所有程序,并且在“ php -m”下似乎可以正确显示。
我正在使用一个小的测试代码来查看它是否以其基本形式起作用:
<?php
$c = new Mosquitto\Client;
$c->onConnect(function() use ($c) {
$c->publish('mgdm/test', 'Hello', 2);
});
$c->connect('test.mosquitto.org');
for ($i = 0; $i < 100; $i++) {
// Loop around to permit the library to do its work
$c->loop(1);
}
echo "Finished\n";
?>
Run Code Online (Sandbox Code Playgroud)
而且似乎在我的浏览器中返回“完成”。因此,我决定升级游戏,并向其添加TLS连接(如所记录):
<?php
$c = new Mosquitto\Client;
$c->onConnect(function() use ($c) {
$c->publish('mgdm/test', 'Hello', 2);
});
$c->setTlsCertificates('mosquitto.org.crt');
$c->connect('test.mosquitto.org', '8883');
for ($i = 0; $i < 100; $i++) {
$c->loop(1);
}
echo "Finished\n";
?>
Run Code Online (Sandbox Code Playgroud)
我获得了证书,并确保apache2可以读取它,并随后将所有权设置为apache2。原来,这给了我浏览器500内部服务器错误。
-rwsrwsrwt 1 …Run Code Online (Sandbox Code Playgroud) 这是我在/var/www/read.php中的简单代码文件:
error_reporting(E_ALL);
<?php
echo hello"
?>
Run Code Online (Sandbox Code Playgroud)
我跑过错误报告何时在debian控制台上运行`php /var/www/read.php'.
PHP Parse error: syntax error, unexpected '"', expecting ',' or ';' in /var/www/read.php on line 3
Run Code Online (Sandbox Code Playgroud)
但是127.0.0.1/read.php在firefox中输入时,网页中没有错误报告.
我在php.ini中设置了如下值:
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
Run Code Online (Sandbox Code Playgroud)
用命令重新启动apache2对我没用
service apache2 restart
Run Code Online (Sandbox Code Playgroud)
这是我的phpinfo消息.在我的read.php文件中添加两行是没有用的,我的firefox中没有报告错误消息.我可以修复它吗?我的系统是debian7 + php.
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
echo hello"
?>
find / -name 'php.ini'
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
Run Code Online (Sandbox Code Playgroud)
根据PHP解决的问题 没有显示任何类型的错误

我正在登录页面,我是一名初学者程序员,我需要知道将密码与哪些函数进行比较,然后如果它们不匹配,则告诉用户它们不匹配,然后我需要将它们加密以发送到数据库
谢谢
这是我到目前为止:
<?php
$Firstname = $_POST['Firstname'];
$Lastname = $_POST['Lastname'];
$Email = $_POST['Email'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
if ($&&$password&&$Email&&$Firstname&&$Lastname)
{
if int strcmp ( string $password , string $password2 )
{
$connect = mysql_connect("localhost","root","power1") or die("couldn't connect!");
mysql_select_db("members") or die ("couldnt find db!");
INSERT INTO users (Firstname, Lastname, Email, password,...)
VALUES ($Firstname, $Lastname, $Email, $password, $password2,...)
}
else
die("Your Passswords do not match")
}
else
die("Please enter your credentials");
?>
Run Code Online (Sandbox Code Playgroud) 当我使用 require_once 包含另一个 php 时,我在 PHP 上得到一个空白页面。但是,这适用于其他文件。现在,我将所有代码简化为:
echo 'testing';
require_once 'C:/xampp/htdocs/folder/file.php';
echo 'now show this';
Run Code Online (Sandbox Code Playgroud)
上面的代码只是产生一个空白页,没有错误或任何东西,即使这个文件被用于其他文件也没有问题。我在该文件的顶部放了一条痕迹,什么也没有。我使用它的方式与其他文件使用它的方式相同,只是一个 require_once。
如果我将 file.php 注释为仅一行阅读echo ' - inside file',则会显示该行,但不会继续其余部分。因此,显示以下输出:
testing - inside file
Run Code Online (Sandbox Code Playgroud)
它不会与其他人一起......这可能是什么原因?
标题解释了它,但这是我试图做的:
if (!defined(PHP_VERSION_ID) || PHP_VERSION_ID < 50400) {
trigger_error('PHP version 5.4 or above is required to run this code. Please upgrade to continue...', E_USER_ERROR);
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这是正在发生的事情:
var_dump(PHP_VERSION_ID); // returns int(50404)
var_dump(defined(PHP_VERSION_ID)); // returns bool(false)
Run Code Online (Sandbox Code Playgroud)
根据php.net页面,defined您可以这样做:
<?php
// PHP_VERSION_ID is available as of PHP 5.2.7, if our
// version is lower than that, then emulate it
if (!defined('PHP_VERSION_ID')) {
$version = explode('.', PHP_VERSION);
define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}
// PHP_VERSION_ID is defined as …Run Code Online (Sandbox Code Playgroud) 我怎么知道我的人物的角色.
$personal = $em->getRepository('AuthenticationBundle:User')->FindPersonel($id);
dump($personal->getRoles());
die();
Run Code Online (Sandbox Code Playgroud)
没有空白页面.
好的,这是一个非常常见的xml解析方法,获取子节点,但它只是没有工作它应该如何...
我不能从我的根元素中获取一个childNodes数组,但是当我们有子节点时,我可以从任何其他节点获取它,这不是问题.每当我遇到从这个文档元素中获取子节点时,我似乎无法获得的不仅仅是第一个孩子.
我需要从文档元素中获取所有第一级节点.
$xdoc=createDOMDocument($file);
$all_children= $xdoc->documentElement->childNodes;
echo count($all_children);
function createDOMDocument($file){
$xdoc = new DOMDocument();
$xdoc->formatOutput = true;
$xdoc->preserveWhiteSpace = false;
$xdoc->load($file);
return $xdoc;
}
Run Code Online (Sandbox Code Playgroud)
但这只会输出"1",它找不到所有节点,当我试图输出它时,它总是停在第一个节点.这对我来说毫无意义.
它在下面找到的唯一节点是:
<title>some title</title>
Run Code Online (Sandbox Code Playgroud)
如果我删除该节点,它会找到topicmeta等,但绝不会将每个节点都放入一个我需要的数组中.
这是XML:
<?xml version="1.0" encoding="UTF-8"?>
<map title="mytitle" xml:lang="en-us">
<title>some title</title>
<topicmeta>
<prodinfo>
<prodname>a product</prodname>
<vrmlist>
<vrm version="8.5"/>
</vrmlist>
<platform/>
</prodinfo>
</topicmeta>
<topichead navtitle="cat1" id="topichead4f53aeb751c875.38130575">
<topichead navtitle="another topic"/>
</topichead>
<topichead navtitle="cat2" id="topichead4f53aeb3596990.18552413"/>
<topichead navtitle="cat3" id="topichead4f52fd157487f9.21599660"/>
</map>
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
$a=$_POST['dsaghgjjkhfdsfdsfsdfdsjhkhkhgj'];
if(isset($a))
{
echo"exists";
}
else
{
echo"does not exist";
}
Run Code Online (Sandbox Code Playgroud)
回显值“不存在”,但是当我将修剪应用于 $_POST 变量时,
$a=trim($_POST['dsaghgjjkhfdsfdsfsdfdsjhkhkhgj']);
if(isset($a))
{
echo"exists";
}
else
{
echo"does not exist";
}
Run Code Online (Sandbox Code Playgroud)
代码将回显“存在”。为什么将不存在的 $_POST 变量传递给 trim() 会神奇地使它存在?