I'm having some issues to debug this in php. When I include this line:
require_once("http://" . $_SERVER["HTTP_HOST"] . "/dompdf/dompdf_config.inc.php");
what I get is just a blank page, I don't get any html code as response. Maybe the error messages are hidden ?
Quite often, when you get a WSOD (white screen of death) , it's because there's a Fatal Error, and it's not displayed on the standard output -- ie the generated page.
To have it displayed, you need to :
error_reporting
to the right level display_errors
An easy way is to do that at the top of your PHP script, with a portion of code like this one :
error_reporting(E_ALL);
ini_set('display_errors', 'On');
In your specific case, you are trying to include/require something via HTTP ; which is often disabled.
See the allow_url_include
directive, about that.
A possibility would be to enable that one in your PHP's configuration... But it's generally not considered as a good idea : it's disabled for security reasons.
And sending an HTTP request to include a file is slow -- and means your application will not work anymore if the remote server doesn't answer !
Also, here, you are trying to include a file from a remote server that is $_SERVER["HTTP_HOST"]
...
... So, you are trying to include a file from a remote server that is, in fact, your own server ? ie not a remote one ?
If so, you should not try to include via HTTP ; instead, you should work with a local file ; this way (will need some tunning) :
require_once dirname(__FILE__) . "/dompdf/dompdf_config.inc.php";
This way :
allow_url_include
I should also add :
You should not require/include a remote file like this. Instead provide the local absolute or relative path.
Though insecure and not recommended, it is technically possible to do if certain configuration options are set. (allow_url_include)
See other answers below regarding display_errors for future debugging concerns. I often use the PHP command line interpreter to get the real error, without allowing error details to be presented to web visitors.
这是一种非常不寻常且不安全的方式来包含文件,但是如果您仍然想要使用它,请确保您所包含的文件未在远程服务器上执行,因为您可能在require_once上定位php源代码这里不是它的最终输出。
尝试将其添加为脚本的第一行(显然在<?php之后):
error_reporting(E_ALL);
The parameter to the require_once
statement should be a file path, not a URL.
You are telling the web server to import a file from the file system, not the client to import the file from the web.
It is documented on the include statement page.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.