Загрузить файл CakePHP Fatal Error - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь загрузить файл в мое приложение cakephp благодаря Josegonzalez / Upload.И у меня есть следующая ошибка.В локальной все работает, но не на моем сервере.Кстати, загрузка файлов с WordPress или с помощью простой формы PHP работает на моем сервере.Я должен был указать

upload_tmp_dir = /tmp

, чтобы он работал для Wordpress в моем php.ini.Я также пытался

open_basedir = /tmp

, но он все равно не работает для cakephp.

Fatal error: [InvalidArgumentException] Invalid stream reference provided #0 /home/rom1/public_html/cakephp/vendor/zendframework/zend-diactoros/src/Stream.php(58): Zend\Diactoros\Stream->setStream('/tmp/phpKu6O1j', 'r') #1 /home/rom1/public_html/cakephp/vendor/zendframework/zend-diactoros/src/UploadedFile.php(164): Zend\Diactoros\Stream->__construct('/tmp/phpKu6O1j') #2 /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Http/ServerRequest.php(460): Zend\Diactoros\UploadedFile->getStream() #3 /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Http/ServerRequest.php(361): Cake\Http\ServerRequest->_processFiles(Array, Array) #4 /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Http/ServerRequest.php(300): Cake\Http\ServerRequest->_setConfig(Array) #5 /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Http/ServerRequestFactory.php(56): Cake\Http\ServerRequest->__construct(Array) #6 /home/rom1/public_html/cakephp/vendor/cakephp/c in /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Error/ErrorHandler.php on line 180</p> <p>Warning: file_exists(): open_basedir restriction in effect. File(/home/rom1/public_html/cakephp/logs/error.log) is not within the allowed path(s): (..) in /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 188</p> <p>Warning: file_put_contents(): open_basedir restriction in effect. File(/home/rom1/public_html/cakephp/logs/error.log) is not within the allowed path(s): (..) in /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 133</p> <p>Warning: file_put_contents(/home/rom1/public_html/cakephp/logs/error.log): failed to open stream: Operation not permitted in /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 133</p> <p>Fatal error: [InvalidArgumentException] Invalid stream reference provided #0 /home/rom1/public_html/cakephp/vendor/zendframework/zend-diactoros/src/Stream.php(58): Zend\Diactoros\Stream->setStream('/tmp/phpKu6O1j', 'r') #1 /home/rom1/public_html/cakephp/vendor/zendframework/zend-diactoros/src/UploadedFile.php(164): Zend\Diactoros\Stream->__construct('/tmp/phpKu6O1j') #2 /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Http/ServerRequest.php(460): Zend\Diactoros\UploadedFile->getStream() #3 /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Http/ServerRequest.php(361): Cake\Http\ServerRequest->_processFiles(Array, Array) #4 /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Http/ServerRequest.php(300): Cake\Http\ServerRequest->_setConfig(Array) #5 /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Http/ServerRequestFactory.php(56): Cake\Http\ServerRequest->__construct(Array) #6 /home/rom1/public_html/cakephp/vendor/cakephp/c in /home/rom1/public_html/cakephp/vendor/cakephp/cakephp/src/Error/ErrorHandler.php on line 180

1 Ответ

0 голосов
/ 14 июня 2018

Наконец-то я понял, что проблема не в моем php.ini.

Поскольку я работаю с userdir, мне пришлось перейти в /etc/apache2/mods-available/userdir.conf

И изменить

php_admin_value open_basedir ".."

на

php_admin_value open_basedir ..:/tmp

Но я не могу понять, почему он работал с Wordpress, а не с CakePHP…

...