2017-02-14 38 views
0

Я использую Wampserver2.2, Symfony 2.5 и Php 5.3.13, и я создаю файл-проводник.Scandir() с getParameter Symfony 2

Чтобы сканировать мой каталог я на самом деле в моем showAction() в моем: контроллера по умолчанию

И это работает!

$dir = \\\\servername\Dossiers Projet\Path\to\Directory 
$clients = scandir($dir); 

Я хочу параметр каталог путь так в моем config.yml:

parameters: 
    chemin_clients: \\\\servername\Dossier Projets\Path\to\Directory 

Я также тест:

parameters: 
    chemin_clients: '\\\\servername\Dossier Projets\Path\to\Directory' 

И новый showAction():

$dir = $this->container->getParameter('chemin_clients'); 
$clients = scandir($dir); 
var_dump($clients); 

var_dump($dir); возвращение string '\\\\servername\Dossier Projets\Path\to\Directory'

var_dump($clients); возвращение булево FALSE

Предупреждение: ScanDir (\\ ServerName \ Dossiers Projet \ Путь \ к \ Directory) [function.scandir]: не удалось открыть не реж: Нет такого файла или каталог в

Я не знаю, в чем проблема. Спасибо большое!

ответ

0

scandir()opendir()) также возвращает FALSE при сбое - если каталог не является ресурсом каталога, возвращается логическое FALSE. Проблема связана с тем фактом, что служба Apache в Windows имеет ограниченный доступ к сетевым ресурсам, таким как общие ресурсы и каналы, поскольку у нее нет учетных данных и она должна подключаться с использованием нулевого сеанса - поэтому путь \\\\servername\Dossier Projets\Path\to\Directory не является допустимым ресурсом каталога для PHP, обрабатываемого службой Apache.

Вы можете установить NullSessionPipes и NullSessionShares значения, которые используются для определения труб и акций, к которым нулевые сеансы могут подключаться в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters реестра, или вы можете добавить значение REG_DWORD RestrictNullSessAccess=0 к этому ключу, чтобы все нулевые сеансы для доступа ко всем трубам и общим ресурсам, созданным на этой машине (но, разумеется, учитывать риски).

+0

Хорошо, я думаю, что получил. Но почему, если я поставлю путь в моем showAction '$ dir = \\\\ server \ path \ to \ dir; $ clients = scandir ($ dir); var_dump ($ clients); 'IT WORKS ... –

 Смежные вопросы

  • Нет связанных вопросов^_^