小编apf*_*pfz的帖子

Symfony2:__ toString()不能抛出异常

我正在部署我的Symfony2应用程序,但是我收到以下错误:

FatalErrorException in classes.php line 0:
Error: Method Symfony\Component\HttpFoundation\Request::__toString() must not throw an exception
Run Code Online (Sandbox Code Playgroud)

Apache稍微有点描述性,说明了Monolog:

 PHP Fatal error:  Method Symfony\\Component\\HttpFoundation\\Request::__toString() must not throw an exception in /my/path/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php on line 0
Run Code Online (Sandbox Code Playgroud)

这也是我唯一不清楚这是如何发生的事情.我本地机器上的开发环境运行正常.

我试图清除prod缓存,composer缓存和重新启动的apache服务.清除缓存后,我还做了一个新的"作曲家安装".

任何人都知道如何解决这个问题?我正在运行Symfony v2.7.4.

symfony monolog

5
推荐指数
1
解决办法
1346
查看次数

Symfony3:"无法访问文件/ tmp/php4k3bf8"

上传文件时收到错误消息"无法访问文件/ tmp/php4k3bf8".在这里查看完整的错误日志.

[2017-08-13 15:50:29] request.INFO: Matched route "apply_for_job". {"route":"apply_for_job","route_parameters":{"_controller":"Vendor\\FinanceBundle\\Controller\\JobResponseController::createAction","job_id":"2850","_route":"apply_for_job"},"request_uri":"https://my.site.in/job-enrollment/open-position/2850/apply","method":"POST"} []
[2017-08-13 15:50:29] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
[2017-08-13 15:50:29] request.CRITICAL: Uncaught PHP Exception Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException: "The file /tmp/php4k3bf8 could not be accessed" at /mnt/hdd2/ya_guest/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesser.php line 127 {"exception":"[object] (Symfony\\Component\\HttpFoundation\\File\\Exception\\AccessDeniedException(code: 0): The file /tmp/php4k3bf8 could not be accessed at /mnt/hdd2/ya_guest/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesser.php:127)"} []
Run Code Online (Sandbox Code Playgroud)

这是用于表单提交的实体:

<?php

namespace Vendor\FinanceBundle\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\HttpFoundation\File\File;

/**
 * @ORM\Entity
 * @ORM\Entity(repositoryClass="Vendor\FinanceBundle\Repository\RRFPreScreenRepository")
 * @ORM\Table(name="vendor_finance_rrf_pre_screen") …
Run Code Online (Sandbox Code Playgroud)

symfony vichuploaderbundle

5
推荐指数
1
解决办法
981
查看次数

自定义过滤器 API 平台不起作用

我正在尝试在 API 平台中实现自定义或过滤器。但由于某种原因,它没有加载。在我的配置下面找到。

这是我的过滤器:

<?php

namespace AppBundle\Filter;

use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\AbstractFilter;
use ApiPlatform\Core\Bridge\Doctrine\Orm\Util\QueryNameGeneratorInterface;
use Doctrine\ORM\QueryBuilder;

use Doctrine\Common\Annotations\AnnotationReader;

final class SearchFilter extends AbstractFilter
{
    protected function filterProperty(string $property, $value, QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, string $operationName = null)
    {
    if ($property === 'search') {
        $this->logger->info('Search for: ' . $value);
    } else {
        return;
    }

    $reader = new AnnotationReader();
    $annotation = $reader->getClassAnnotation(new \ReflectionClass(new $resourceClass), \AppBundle\Filter\SearchAnnotation::class);

    if (!$annotation) {
        throw new \HttpInvalidParamException('No Search implemented.');
    }

    $parameterName = $queryNameGenerator->generateParameterName($property);
    $search = [];
    $mappedJoins = []; …
Run Code Online (Sandbox Code Playgroud)

api-platform.com

5
推荐指数
1
解决办法
7383
查看次数

教义查询生成器LOWER无法正常工作

不知何故的学说不允许我比较两个较低的字符串值:变量的值和用户的名字。

    $qb = $this->getEntityManager()->createQueryBuilder();
    $qb
        ->select('d')
        ->from('MyBundle:User', 'd')
        ->where('LOWER(d.firstName) LIKE :fName')
        ->setParameter('fName', strtolower('%'.$fName.'%'));

    $result = $qb->getQuery()->execute();
Run Code Online (Sandbox Code Playgroud)

仅当$ fName具有大写字符串(即“ Rob”)时,它才会返回“ Robert”和“ Robby”之类的结果。但是我想要的是即使$ fName拼写为小写('rob'),这些结果也应该出现。似乎d.firstNames没有降低。为什么会这样呢?

doctrine lowercase symfony

4
推荐指数
1
解决办法
8200
查看次数

composer.phar 更新没有任何反应

当我在终端中输入以下行时,没有任何反应:

php composer.phar update
Run Code Online (Sandbox Code Playgroud)

安装或任何其他选项相同。

可能是什么问题呢?我在 CentOS 上工作。谢谢

php composer-php

4
推荐指数
1
解决办法
1085
查看次数

Symfony:如何调试意外的'\'(T_NS_SEPARATOR)

我在Symfony中收到以下错误消息:

Parse error: syntax error, unexpected '\' (T_NS_SEPARATOR), expecting identifier (T_STRING)  
Run Code Online (Sandbox Code Playgroud)

例如,当我执行DoctrineMigrations时,这一行出现了吗?

我怎么调试这个?

这是完整的痕迹:

PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Parse error: syntax error, unexpected '\' (T_NS_SEPARATOR), expecting identifier (T_STRING) in /Library/WebServer/Documents/hrd_3/var/cache/dev/appDevDebugProjectContainer.php:7087
Stack trace:
#0 /Library/WebServer/Documents/hrd_3/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php(117): Symfony\Component\HttpKernel\Kernel->initializeContainer()
#1 /Library/WebServer/Documents/hrd_3/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(68): Symfony\Component\HttpKernel\Kernel->boot()
#2 /Library/WebServer/Documents/hrd_3/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(117): Symfony\Bundle\FrameworkBundle\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 /Library/WebServer/Documents/hrd_3/bin/console(29): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput))
 in /Library/WebServer/Documents/hrd_3/var/cache/dev/appDevDebugProjectContainer.php on line 7087

Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Parse error: syntax error, unexpected '\' (T_NS_SEPARATOR), expecting identifier (T_STRING) in /Library/WebServer/Documents/hrd_3/var/cache/dev/appDevDebugProjectContainer.php:7087
Stack trace:
#0 /Library/WebServer/Documents/hrd_3/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php(117): Symfony\Component\HttpKernel\Kernel->initializeContainer()
#1 /Library/WebServer/Documents/hrd_3/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(68): Symfony\Component\HttpKernel\Kernel->boot()
#2 /Library/WebServer/Documents/hrd_3/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(117): Symfony\Bundle\FrameworkBundle\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 …
Run Code Online (Sandbox Code Playgroud)

symfony

4
推荐指数
1
解决办法
1378
查看次数

Symfony 4:Dotenv :: populate返回none

我正在尝试在生产中运行Symfony4应用程序,我收到以下错误:

Uncaught TypeError: Return value of Symfony\\Component\\Dotenv\\Dotenv::populate() 
must be an instance of Symfony\\Component\\Dotenv\\void, 
none returned in /var/www/html/vendor/symfony/dotenv/Dotenv.php:95
Stack trace:
#0 /var/www/html/vendor/symfony/dotenv/Dotenv.php(57): 
    Symfony\\Component\\Dotenv\\Dotenv->populate(Array)
#1 /var/www/html/public/index.php(12): 
    Symfony\\Component\\Dotenv\\Dotenv->load('/var/www/html/s...')
#2 {main}
    thrown in /var/www/html/vendor/symfony/dotenv/Dotenv.php on line 95
Run Code Online (Sandbox Code Playgroud)

在本地,该应用程序运行正常.一旦它转移到生产,它就会破裂.

知道为什么会这样吗?

symfony symfony4

4
推荐指数
1
解决办法
4228
查看次数

如何使用VBO和Pyglet更新数据

我想用Pyglet制作一个改变每一帧的网格.因此我需要经常更新顶点,我认为VBO将是最快的方式(如果我错了,请纠正我).以下是Points的示例.这是正确的做法吗?我读到glBindBuffer调用的数量应该被最小化,但是在这里它被称为每帧.GL_DYNAMIC_DRAW也已启用,但如果我将其更改为GL_STATIC_DRAW,它仍然有效.这让我想知道这是否是一个快速计算的正确设置

import pyglet
import numpy as np
from pyglet.gl import *
from ctypes import pointer, sizeof

vbo_id = GLuint()
glGenBuffers(1, pointer(vbo_id))

window = pyglet.window.Window(width=800, height=800)

glClearColor(0.2, 0.4, 0.5, 1.0)

glEnableClientState(GL_VERTEX_ARRAY)

c = 0

def update(dt):
    global c
    c+=1
    data = (GLfloat*4)(*[500+c, 100+c,300+c,200+c])
    glBindBuffer(GL_ARRAY_BUFFER, vbo_id)
    glBufferData(GL_ARRAY_BUFFER, sizeof(data), 0, GL_DYNAMIC_DRAW)
    glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(data), data)


pyglet.clock.schedule(update)

glPointSize(10)

@window.event
def on_draw():

    glClear(GL_COLOR_BUFFER_BIT)
    glColor3f(0, 0, 0)

    glVertexPointer(2, GL_FLOAT, 0, 0)
    glDrawArrays(GL_POINTS, 0, 2)


pyglet.app.run()
Run Code Online (Sandbox Code Playgroud)

python opengl pyglet vbo

3
推荐指数
1
解决办法
1849
查看次数

渲染自定义属性KNP菜单

有没有办法在KNP菜单包中呈现自定义属性,如下所示:

$menu = $factory->createItem(Role::ROLE_PROGRAM_EVENT_PLANNER, array(
    'route' => 'show_form_events',
    'attributes' => array('class' => 'menu pe_planner'),
    'extra' => array(
      'content' => 'my custom content'
    )
));
Run Code Online (Sandbox Code Playgroud)

我通过在a-tag之后添加一个额外的div来覆盖linkElement.在那个div我想提供额外的内容

{% block linkElement %}
    {% import _self as knp_menu %}
    <a href="{{ item.uri }}"{{ knp_menu.attributes(item.linkAttributes) }}>{{ block('label') }}</a>
    {% if item.hasChildren == false %}
        <div class="custom">{{ item.getExtra('content') }}</div>
    {% endif %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

symfony knpmenu knpmenubundle

3
推荐指数
1
解决办法
4246
查看次数

通过浏览器插件设置在iframe中形成的值

对于我的公司,我想将存储在数据库中的表单中的值映射到第三方公司的形式(我们日常工作的一部分).

我们的表格在site1.com上,第三方公司的表格在site2.com上,并在site1.com上的iframe中显示.

我完全控制site1.com,没有通过site2.com

显然,使用jQuery,由于同源策略,映射将不起作用.

我想,既然我可以使用"inspect element"手动操作DOM树,那么浏览器插件可能会起作用.但是直到现在我还没有能够使这个工作,因为我再次遇到同源策略.

有没有其他方法让这个工作?我是否需要更进一步并为我的Mac创建一个可可应用程序?

forms iframe jquery browser-plugin same-origin-policy

0
推荐指数
1
解决办法
401
查看次数