Erfahren Sie, wie Sie PHP-Bibliotheken richtig importieren
<p>我正在使用两个库:</p>
<ul>
<li>phpdotenv</li>
<li>spatie/async</li>
</ul>
<p>这是我正在执行的内容:</p>
<pre class="brush:php;toolbar:false;"><?php
require_once "/var/local/entrop/vendor/autoload.php";
include_once '/var/local/entrop/inc/Functions.php';
include_once '/var/local/entrop/model/Contract.php';
benutze SpatieAsyncPool;
versuchen {
$aConn = Functions::getConnection();
$contracts = Contract::getContracts();
$pool = Pool::create();
foreach ($contracts als $contract){
$pool->add(function () use ($aConn, $contract) {
include_once '/var/local/entrop/config/DataConfig.php';
$next_contract = Contract::getNextContract($aConn);
})
->then(function ($output) {
})
->catch(function ($Exception) {
Functions::write_log($Exception);
})
->timeout(function () {
Functions::write_log("timeout");
});
}
warten($pool);
$aConn->close();
}
Catch (Ausnahme $e){
Functions::write_log($e);
}</pre>
<p>这是DataConfig的定义:</p>
<pre class="brush:php;toolbar:false;"><?php
ini_set('display_errors',1);
error_reporting(E_ALL);
require_once "/var/local/entrop/vendor/autoload.php";
$dotenv = DotenvDotenv::createImmutable("/var/local/entrop/");
$dotenv->load();
define('DB_HOST', $_ENV['DB_HOST']);
define('DB_USER', $_ENV['DB_USER']);
define('DB_PASS', $_ENV['DB_PASS']);
define('DB_DBMS', $_ENV['DB_DBMS']);
Klasse DataConfig {
static $db_host = DB_HOST;
static $db_user = DB_USER;
static $db_pass = DB_PASS;
static $db_dbms = DB_DBMS;
}</pre>
<p>这是我的composer.json文件:</p>
<pre class="brush:php;toolbar:false;">{
"erforderlich": {
"vlucas/phpdotenv": "^5.2",
"spatie/async": "^1.5"
},
"Autoload": {
"Klassenkarte": [
"/var/local/entrop/model/Contract.php"
]
}
}</pre>
<p>Jetzt erhalte ich folgende Fehlermeldung: </p>
<blockquote>
<p>[2022-08-04 10:38:38]local.INFO: Paralleler Fehler bei der asynchronen Ausgabe des Speicherplatzes:
PHP-Hinweis: Undefinierter Index: DB_HOST in
/var/local/entropia/config/DataConfigEntropia.php Zeile 12 PHP
HINWEIS: Undefinierter Index: DB_USER in
/var/local/entropia/config/DataConfigEntropia.php Zeile 13 PHP
HINWEIS: Undefinierter Index: DB_PASS in
/var/local/entropia/config/DataConfigEntropia.php Zeile 14 PHP
HINWEIS: Undefinierter Index: DB_DBMS in
/var/local/entropia/config/DataConfigEntropia.php Zeile 15</p>
</blockquote>
<p>Ich habe versucht, meine DataConfig-Datei automatisch zu laden und in die Rückruffunktion einzubinden. Aber es hat nicht funktioniert. was soll ich machen? </p>