我在 Debian 上有一个 Apache 2,并且是一个初学者(新手)。当在网络浏览器中访问我的网络服务器时,我看到 Apache 默认欢迎页面:
我尝试显示我的真实网站(var/www/mywebsite.com/),而不是此页面(位于 var/www/html)。下面是我服务器上的树:
---- etc
-------- apache2
------------ sites-enabled
---------------- mywebsite.com.vhost -> etc/apache2/sites-available/mywebsite.com.vhost
------------ sites-available
---------------- mywebsite.com.vhost
---- var
-------- www
------------ mywebsite.com
---------------- web
-------------------- css/
-------------------- js/
-------------------- img/
-------------------- error/
-------------------- index.html
-------------------- robots.txt
Run Code Online (Sandbox Code Playgroud)
我的 .vhost 文件配置良好:
AllowOverride None
Require all denied
Run Code Online (Sandbox Code Playgroud)
DocumentRoot /var/www/mywebsite.com
ServerName mywebsite.com
ServerAlias www.mywebsite.com
ServerAdmin webmaster@mywebsite.com
ErrorLog /var/log/ispconfig/httpd/mywebsite.com/error.log
Alias /error/ "/var/www/mywebsite.com/web/error/"
ErrorDocument 400 /error/400.html
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 405 /error/405.html
ErrorDocument …Run Code Online (Sandbox Code Playgroud) 我正在使用 FosUserBundle 运行 Symfony 3.4。我定制了注册表以获得Roles包含的内容:
<?php
$form->add('roles', ChoiceType::class, array(
'choices' => array(
'user' => 'ROLE_USER',
'admin' => 'ROLE_ADMIN'
),
'label' => 'Role :',
'expanded' => true,
'multiple' => true
));
Run Code Online (Sandbox Code Playgroud)
然后现在可以通过 2 个新复选框在注册表中选择角色......但我想用<select>标签显示它。当我将expanded选项设置false为选择时,但如果我将multiple选项设置为 FALSE,则会出现错误:
数组到字符串的转换
有什么想法可以解决我的问题吗?
编辑:下面是堆栈跟踪:
Symfony\Component\Debug\Exception\ContextErrorException:
Notice: Array to string conversion
at vendor\symfony\symfony\src\Symfony\Component\Form\ChoiceList\ArrayChoiceList.php:73
at Symfony\Component\Form\ChoiceList\ArrayChoiceList->Symfony\Component\Form\ChoiceList\{closure}(array('ROLE_USER'))
at call_user_func(object(Closure), array('ROLE_USER'))
(vendor\symfony\symfony\src\Symfony\Component\Form\ChoiceList\ArrayChoiceList.php:158)
at Symfony\Component\Form\ChoiceList\ArrayChoiceList->getValuesForChoices(array(array('ROLE_USER')))
(vendor\symfony\symfony\src\Symfony\Component\Form\Extension\Core\DataTransformer\ChoiceToValueTransformer.php:32)
at Symfony\Component\Form\Extension\Core\DataTransformer\ChoiceToValueTransformer->transform(array('ROLE_USER'))
(vendor\symfony\symfony\src\Symfony\Component\Form\Form.php:1104)
at Symfony\Component\Form\Form->normToView(array('ROLE_USER'))
(vendor\symfony\symfony\src\Symfony\Component\Form\Form.php:350)
at Symfony\Component\Form\Form->setData(array('ROLE_USER'))
(vendor\symfony\symfony\src\Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper.php:49)
at Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper->mapDataToForms(object(User), object(RecursiveIteratorIterator))
(vendor\symfony\symfony\src\Symfony\Component\Form\Form.php:383)
at Symfony\Component\Form\Form->setData(object(User))
(vendor\friendsofsymfony\user-bundle\Controller\RegistrationController.php:70) …Run Code Online (Sandbox Code Playgroud) 我正在开发Symfony 3.4应用程序。资产捆绑包未安装,所以我做了:
$ composer require symfony/assetic-bundle
Run Code Online (Sandbox Code Playgroud)
并将其添加到appKernel.php中:
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
Run Code Online (Sandbox Code Playgroud)
它工作完美。然后,在我的app / config / config.yml中,添加了:
# app/config/config.yml
assetic:
debug: '%kernel.debug%'
use_controller: '%kernel.debug%'
filters:
cssrewrite: ~
# ...
Run Code Online (Sandbox Code Playgroud)
现在我的前端不再可用,这是app_dev.php显示的错误:
ParameterNotFoundException您已请求一个不存在的参数“ templating.engines”。
即使我从config.yml中删除了Assetic配置,也出现了错误。我一直在搜索我的所有* .yml文件,但找不到任何属性“ templating.engines”...。
我正在使用 :
FOSuserbundle安装得很好,并且就像一个护身符。我注意到在数据库中的用户表中,“盐”列始终为空:
以下是我的security.yml文件的摘录:
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
Run Code Online (Sandbox Code Playgroud)
为了记录,我添加了2个用户,并添加了命令“ fos:user:create”。
这正常吗?