<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use \RedBeanPHP\R as R;
require_once 'RedBeanPHP/rb.php';
R::setup('mysql:host=localhost;dbname=laravel','root', 'root');
class DBaseController extends Controller
{
public function bdConnection()
{
if(!R::testConnection()){
die('No BD Connection');
}
echo 'OK!';
return view('blog1.index');
}
}
Как уговорить laravel подключить удаленный файл?
require_once 'RedBeanPHP/rb.php';
/srv/test # ls -l
total 12
drwxrwxr-x 2 1001 1001 4096 Sep 25 16:54 a
-rw-rw-r-- 1 1001 1001 25 Sep 25 16:50 index.php
-rw-rw-r-- 1 1001 1001 62 Sep 25 16:54 test.php
/srv/test #
/srv/test # cat index.php
<?php
include 'a/a.php';
/srv/test #
/srv/test # cat a/a.php
<?php
var_dump(getcwd());
include 'test.php';
/srv/test #
/srv/test # cat a/test.php
<?php
echo 'I am test.php from ' . __DIR__ . " directory\n";
/srv/test #
/srv/test # cat test.php
<?php
echo 'I am test.php from ' . __DIR__ . " directory\n";
/srv/test #
/srv/test # php index.php
string(9) "/srv/test"
I am test.php from /srv/test directory
ну так напиши елыпалы, тебе тут что, шестерки собрались что-ли
__DIR__ Директория файла. Если используется внутри подключаемого файла, то возвращается директория этого файла.
Мы не говорим тут не о каких-то __DIR__ и т.п.
мы говорим к конкретном моменте, где будет искаться файл подключенный как require_once 'RedBeanPHP/rb.php';
а где этот результат выполнения файл php a/index.php ?
где php ищет этот файл?
Верно, он ищет его тут app/Http/Controllers/RedBeanPHP/rb.php
На самом деле ищет относительно директории, которую вернет getcwd, которая на 99% совпадает с директорией, в которой находится точка входа
$_SERVER['DOCUMENT_ROOT'] ?? __DIR__;
static zend_string *php_resolve_path_for_zend(const char *filename, size_t filename_len)
{
return php_resolve_path(filename, filename_len, PG(include_path));
}
$_SERVER['DOCUMENT_ROOT'] ?? __DIR__;
Все относительные пути резолвятся по инструкции, а-ля:
$_SERVER['DOCUMENT_ROOT'] ?? __DIR__;
Почему же в моем примере не резолвится относительно __DIR__?
file.php (фал лежит в той же папке)
./file.php (фал лежит в той же папке. такая запись иногда требуется в некоторых юникс системах)
Короче, за относительный пути без __DIR__ нужно руки отрубать)))