问题标签 [symfony-3.2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 在 PROD 模式下会引发错误,但在 DEV 模式下不会:“注意:未定义索引”在 $form->getConfig()->getAttributes()
在 Ubuntu 服务器上的环境中运行我的 symfony3 项目,prod
我收到以下错误:
"注意:未定义索引:data_collector/passed_options",
dev
如果我使用环境,则不会发生此错误。
我的自定义中引发了错误FormType
:
app_dev.php
我在生产 Ubuntu 服务器上编辑了我的文件(就像这里解释的那样),以便我可以使用这个命令在生产中进行测试:
php bin/console server:start [我的服务器的IP]:[自定义端口]
但是错误仍然没有在dev
环境中抛出。所以这不是我的开发机器的问题。
难道是环境$form->getConfig()->getAttributes()
中没有索引prod
?
有什么方法可以调试在prod
环境中发生但不在环境中发生的此类错误dev
?
php - 通过控制器 Symfony 3 访问实体
对于一个学校项目,我需要开发一个纸牌游戏。
我正在处理信用卡存款。我所有的卡都存储在数据库中,当我存入卡时,我只需发送一个带有卡 ID 的隐藏表单。
问题是:如何通过我的控制器访问已玩牌的属性?我已经测试了所有东西,实际上我可以得到它们,但我必须公开设置我所有实体的属性,我认为这真的很糟糕。
我真的不知道该怎么做,也许一些帮助或提示可以帮助我。
这是我的控制器的功能:
这是我的 Card 实体:
我知道这当然很容易做到,但我真的找不到:(
谢谢您的帮助。
php - Symfony 请求获取所有 url 参数
我有一个Symfony\Component\HttpFoundation\Request
对象,我想从中获取所有提供的 url 参数。换句话说,当用户访问http://example.org/soempage?param1=value1¶m2=value2¶m3=value3
我想生成一个具有这些值的数组['param1','param2','param3']
。
我也看过这个:How to get all post parameters in Symfony2?
我在上面尝试了以下内容:
和
没有所需的结果,而是收到此错误消息:
试图调用类“Symfony\Component\HttpFoundation\Request\ 的名为“all”的未定义方法
编辑 1
我使用 int 的请求变成了一个验证我的输入的静态方法。该方法通过控制器调用,并且为了可重用性的目的而实现。
php - Symfony:事件订阅者阻止调用控制器
我制作了以下事件订阅者:
我已将以下内容放入services.yml
文件中:
我想要做的是防止控制器被调用并直接打印输出。在不久的将来,将实施一种控制机制,我希望能够根据具体情况防止控制器被调用。
你知道怎么做吗?上面的代码似乎不起作用。正如我在http://symfony.com/doc/current/components/http_kernel.html#component-http-kernel-kernel-request中看到的那样,我能够做到这一点。
symfony - FOS/user-bundle ProxyManager\配置错误
安装 friendsofsymfony/user-bundle 后出现此错误
使用 Symfony3.2 和 PHP 7.1
也许有想法为什么?
编辑
我用了这个 tu
并为用户实体选择“Doctrine ORM User class”
phpunit - Symfony 3 表单单元测试 createMock 未定义
我正在使用 symfony 3 和 PhpUnit 5.6.4。我正在使用 http://symfony.com/doc/master/form/unit_testing.html测试我的表单
我的代码在这里,但是当我运行 phpunit 时,我得到:
测试测试套件 PHP 致命错误:调用未定义的方法 Tests\AnnBundle\Form\Type\AnnTypeTest::createMock() in /media/mpf/mmf/tests/AnnBundle/Form/Type/AnnTypeTest.php 在第 26 行 PHP 堆栈跟踪: PHP 1. {main}() /media/mpf/mmf/vendor/symfony/phpunit-bridge/bin/.phpunit/phpunit-4.8/phpunit:0
谢谢。
apache - 在 Vhost Ubuntu 子域文件夹上安装/配置 Symfony3.2 --> 错误 403 禁止和错误 500
我尝试在我的虚拟主机上安装 Symfony3.2,在 ubuntu 下运行 Plesk。我的目标是创建一个生产服务器状态来在线测试我的 Symfony 项目。我想使用 URLsubexample.example.tld
或subexample.example.tld/matchGen
.
在我穿越泪水和永恒自我怀疑的过程中,我看到了很多不同的错误,甚至成功地打破了整个虚拟主机,包括我的电子邮件系统……干得好。
好吧..现在我收到了错误 403 Forbidden。好消息(至少对我而言):我看到了 symfony 的 favicon,如果我尝试打开 app_dev.php( subexample.example.tld/matchGen/web/app_dev.php
),它会显示You are not allowed to access this file. Check app_dev.php for more information.
. 打开 app.phpsubexample.example.tld/matchGen/web/app.php
会导致重定向到subexample.example.tld/matchGen/web/
和The server returned a "500 Internal Server Error".
。
subexample.example.tld
也遇到了禁区。
我已经尝试/做了以下事情:
- 新安装在不同的位置
- PHP matchGen/bin/symfony_requirements --> [OK] 您的系统已准备好运行 Symfony 项目
- 使用这个作为指南http://symfony.com/doc/current/setup/web_server_configuration.html#web-server-apache-mod-php (Apache 2.4 - FastCGI)--> 创建了我的 subexample.example.tld.conf /etc/apache2/sites-available, used
a2ensite subexample.example.tld.conf
和service apache2 reload
-->* Reloading web server apache2
,显然没有问题。 - 我尝试为 web 文件夹和所有其他内容使用不同的目录 --> 没有改变
chmod
使用and更改权限chown
--> 好吧...现在我知道如何应用备份了...长话短说 --> 我太天真了,从 Ubuntu 和权限更改中学到了宝贵的一课。- https://www.liquidweb.com/kb/apache-error-no-matching-directoryindex-index-html-found-solved/ --> 没有效果。
现在对于error.logs:
/var/www/vhosts/system/subexample.example.tld/logs/error_logs
/var/log/apache2/matchGen_error.log
并且/var/log/apache2/matchGen_access.log
是空的。
我的配置文件:
/etc/apache2/sites-available/subexample.example.tld.conf
/var/www/vhosts/system/subexample.example.tld/conf/httpd.conf
好吧,我认为这应该让您了解我的问题。先感谢您!啊……请给傻瓜解释一下……我知道一些事情……但显然还不够。
编辑1:
我再次尝试更改权限...这次我创建了一个新组,将我的 matchGen 文件夹放入其中并尝试允许该组中的所有内容。
没变。
哦..我将用户 www-data 添加到了 Symfony 组。
编辑2:
我尝试使用http://symfony.com/doc/current/setup/web_server_configuration.html#web-server-apache-fpm
,但没有任何改变。重置后,我尝试subexample.example.tld/matchGen/web/
再次打开。好吧,它没有用,但是这次错误似乎有所不同HTTP ERROR 500
。所以...在再次查看外观后-->mod_fcgid: stderr: PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/vhosts/example.tld/subexample.example.tld/matchGen/var/logs/prod.log" could not be opened: failed to open stream: Permission denied' in /var/www/vhosts/example.tld/subexample.example.tld/matchGen/var/cache/prod/classes.php:8203
这绝对是权利的问题。但为什么它不起作用?...我尝试使用本指南使用 acl 设置 www-data-user -->http://symfony.com/doc/current/setup/file_permissions.html#using-acl-on-a-system-that-supports-setfacl-linux-bsd
我没有在 setfacl-command 末尾使用 var 或 /var,而是使用 matchGen 作为文件夹。
没变。
编辑3:
我做的!在我达到编辑 2 之后的点后,这对我有所帮助。 “无法打开流:权限被拒绝”错误 - Laravel
- 进入您的项目文件夹并使用
php bin/console cache:clear --env=prod
- 跟进
chmod -R 777 var
- 完成
composer dump-autoload
最后...
php - 找不到“GET /sf/customer-first-progam-level”的路线
如标题所示,如果我尝试访问以下 URL,则会遇到该问题:
这就是我所拥有的:
应用程序/路由.yml
/li>QuoteBundle/Controller/CustomerFirstProgramLevelController.php
/li>
这是我没有成功的尝试:
- 清除 prod 和 dev 的缓存
- 将路线名称更改为其他名称
如果我调试router
我得到以下信息:
我正在使用 Symfony 3.2.7。有任何想法吗?我不在他们身边
php - symfony 3 ChoiceType is not Valid
我有一个非常简单的脚本。它从表中读取 ID 和 NAME,并将它们作为选项添加到我的选择类型。
已解决 请参阅最后一个脚本。您必须再次在表单中添加所有选项。
这就是行动。
表格类型:
到目前为止,一切都很好。在我的页面上获得 ChoiceType 框,我可以选择我想要的条目并提交它。如果我想检查数据是否有效,它会失败。
这是我的实体
这是我目前获取数据的方式。
有没有人有任何想法,为什么下面的脚本不起作用?这是我可以在项目中的所有其他页面上进行操作的方式。
友好的问候,
法比安·哈姆森
orm - Symfony 3.2。实体类型不起作用
我不知道为什么这不起作用:
那是错误信息:
可捕获的致命错误:传递给
Symfony\Bridge\Doctrine\Form\Type\DoctrineType::__construct()的参数 1
必须实现接口 Doctrine\Common\Persistence\ManagerRegistry,
没有给出,在 (...)\src\Symfony\ 中调用第 85 行的Component\Form\FormRegistry.php
并定义 (...)