1
我已經安裝了爾康我的服務器上的Centos 7 PHP-FPM 5.6致命錯誤:20
上線爾康\迪:: $ _默認....公共/ index.php文件:訪問未申報的靜態屬性我按照https://docs.phalconphp.com/en/latest/reference/tutorial.html的基本說明開始工作:
有時會顯示正確的「Hello!」消息,但我刷新頁面幾次,大部分時間我得到以下錯誤:
Fatal error: Access to undeclared static property: Phalcon\Di::$_default in /var/www/vhosts/playerm8.com/httpdocs/public/index.php on line 20
我的公共/ index.php文件看起來是這樣的:
<?php
use Phalcon\Loader;
use Phalcon\Mvc\View;
use Phalcon\Mvc\Application;
use Phalcon\Di\FactoryDefault;
use Phalcon\Mvc\Url as UrlProvider;
use Phalcon\Db\Adapter\Pdo\Mysql as DbAdapter;
try {
// Register an autoloader
$loader = new Loader();
$loader->registerDirs(array(
'../app/controllers/',
'../app/models/'
))->register();
// Create a DI
$di = new FactoryDefault()
;
// Setup the view component
$di->set('view', function() {
$view = new View();
$view->setViewsDir('../app/views/');
return $view;
});
// Setup a base URI so that all generated URIs include the "tutorial" folder
$di->set('url', function() {
$url = new UrlProvider();
$url->setBaseUri('/');
return $url;
});
// Handle the request
$application = new Application($di);
echo $application->handle()->getContent();
} catch (\Exception $e) {
echo "Exception: ", $e->getMessage();
}
而且我的應用程序/控制器/ IndexController.php看起來是這樣的:
<?php
use Phalcon\Mvc\Controller;
class IndexController extends Controller
{
public function indexAction()
{
echo "<h1>Hello!</h1>";
}
}
任何幫助,將不勝感激
應始終定義靜態屬性'Phalcon \ Di :: $ _ default'。你的構建可能有問題。但是你可以在同一行用分號嘗試'$ di = new FactoryDefault();'看看它是否有幫助。然後將該行移動到try-catch的頂部。如果它仍然不起作用,請嘗試註釋掉所有代碼,並查看是否可以只使用'$ di = new \ Phalcon \ DI \ FactoryDefault();'來工作(不依賴於命名空間)。如果這部分時間失敗了,那就是構建。 – Ultimater
爲什麼它會工作的一部分時間,而不是其他部分聽起來很腥。它也可能是愚蠢的,例如打開同一個文件的兩個版本並將錯誤的修改保存到錯誤的文件中,這可以解釋不一致性。 – Ultimater