标签: php-7

如何在debian上安装apcu作为php7扩展

我见过ubuntu的这个教程. http://thereluctantdeveloper.com/2015/12/quick-and-dirty-php-70-set-up-on-ubuntu-1404-with-apcu

一步之后我不清楚(git clone).我需要apcu扩展我的应用程序才能更快地执行.请指导在debian上安装php 7的apcu扩展.

debian apc php-7

14
推荐指数
5
解决办法
6万
查看次数

PHPDocumentor 2和PHP 7与Doctrine中的opcache问题

希望有人在这里知道一件事或两件事.

简短的问题

我在命令行上使用phpdoc遇到错误,在PHP 7.0.2上通过pear安装.错误是:

#> phpdoc
PHP Fatal error:  Uncaught Doctrine\Common\Annotations\AnnotationException: 
You have to enable opcache.load_comments=1 or zend_optimizerplus.load_comments=1. 
in /usr/local/php5-7.0.2-20160108-102134/lib/php/phpDocumentor/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php:193
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

细节

Opcache已启用并opcache.load_comments=1位于我的opcache.ini文件中,分别使用命令:php -i | grep "Opcode"和验证php -i | grep "opcache".在该.ini文件中,我可以通过检查启用并通过该文件禁用opcache来验证是否加载了更改.

话虽如此,如果我opcache.load_comments=1在我的.ini文件中,为什么我仍然会收到此错误?

谢谢!

php phpdoc opcache phpdocumentor2 php-7

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

Symfony 2.从php5.5迁移到php 7的项目.性能问题

我有一个项目~4岁,我从5.3和Symfony 2.0开始,迁移到5.5和S2.3.目前我迁移到S2.8,我想迁移到php 7.

由于围绕PHP 7性能有很多堆,我很想在dev env中测试我的项目性能.

所以在开发环境中运行基准测试; 服务是在流浪的主机上同时拥有php5-fpm和php7.0-fpm,关闭一个并设置另一个.

我预计会PHP7 PHP5跑赢大市,但基本上它似乎PHP7 慢1.5-2倍于我的本地开发ENV.

我究竟做错了什么?或者我应该以某种方式重写我的应用程序?

phpinfo:php 7 http://pastebin.com/a6a76vE2 php 5 http://pastebin.com/4GBXNmBB

PS是的,我知道在本地开发环境中运行基准测试不是100%有效和纯粹,但我只需要了解php7是否比php5更快,正如它所说的那样.

U1

最有趣的是,blackfire清楚地表明php 7比php 5快〜45%.但是当我在进行围攻时,我看到性能会下降.

U2

这或多或少是我对dev env的自定义配置.对于php5.5和php7来说是一样的:

[Date]
date.timezone = Europe/Tallinn

[PHP]
memory_limit = 512M
expose_php = Off
cgi.fix_pathinfo = 0
post_max_size = 10M
upload_max_filesize = 10M
max_execution_time = 60
realpath_cache_size = 4096k
realpath_cache_ttl = 7200

error_reporting = E_ALL | E_STRICT
log_errors = On
error_log = /var/log/php.errors.log

display_errors = On
display_startup_errors = On
html_errors = On

; xdebug
xdebug.remote_enable = …
Run Code Online (Sandbox Code Playgroud)

php performance symfony php-7

14
推荐指数
1
解决办法
1010
查看次数

php 7 Mcrypt PHP扩展需要

你好我们已经从这个链接 和这个链接安装了php7 .

但是当我尝试运行基于Laravel的项目时,会出现如下错误

需要Mcrypt PHP扩展.

我试图找到mcrypt.so并更改mycrpt.ini中的路径但我仍然得到相同的错误我只得到这个错误我Laravel项目

php apache laravel-5 php-7

13
推荐指数
2
解决办法
6万
查看次数

Symfony3 Form组件尝试将null传递给PHP 7中的类型提示方法

在我的实体类中,我已经为setter和getter的返回类型定义了所有预期的参数类型.稍后,当我有一个使用所述类的表单时,如果表单中的某些字段为空,则会出现错误,因为表单组件尝试将null传递给setter而不是string.

我提交表单时收到以下异常:

给出的字符串"string","NULL"的预期参数

500内部服务器错误 - InvalidArgumentException

抛出异常 vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php at line 254

有没有办法将"null"值转换为空字符串,然后再将其传递给对象,让验证者争论呢?

php symfony-forms symfony php-7

13
推荐指数
2
解决办法
2557
查看次数

PHP7的PDO ext是否将整个结果集读入内存?

我注意到,自从我升级到PHP7后,一些SQL语句不再有效,而是内存不足.

我有这个代码:

$query = Yii::$app->db->createCommand('select * from tbl_title')->query();
while ($row = $reader->read()) {
    var_dump($row);
    exit();
}
Run Code Online (Sandbox Code Playgroud)

Yii2的数据库抽象只是PDO上的一个非常薄的层,并没有做任何额外的事情.query()除了在日志文件(Yii2)中添加一行以进行性能分析并reader->read()只调用PDO流的fetch()功能之外,什么都不做.

但它的内存耗尽引用我的表的大小(使用的空间),即尝试分配385 MB的进程内存:

允许的内存大小为134217728字节耗尽(试图分配385883840字节)

作为一个扳手,如果我使用一个查询,其结果集完全符合PHP进程的128 MB限制.

那么,PHP7已经改变了,我可以改回来吗?

php mysql pdo yii2 php-7

13
推荐指数
1
解决办法
233
查看次数

为什么$ _SESSION在PHP 7中通过引用传递?

我正在从PHP 5.6升级到PHP 7并且出现了一个奇怪的问题.

    <?php
    session_start();
    $_SESSION['test'] = true;
    $var = $_SESSION;
    session_unset();
    print_r($var);
Run Code Online (Sandbox Code Playgroud)

PHP 5.6输出:

Array
(
    [test] => 1
)
Run Code Online (Sandbox Code Playgroud)

PHP 7输出:

Array
(
)
Run Code Online (Sandbox Code Playgroud)

我认为这是因为$_SESSION通过引用传递,但为什么?

php session php-7

13
推荐指数
1
解决办法
1543
查看次数

PHP7语言支持PhpStorm

我知道PHP7尚未发布,但是我想开始尝试,为了做到这一点,我最好继续使用PhpStorm.问题自然是它还没有语言支持.

我已经编译了PHP7源代码并将其作为解释器添加到PhpStorm,这令人惊讶地接受了,但这对语言级别没有任何影响.所以我的猜测是解释器用于调试,IDE使用自己的解析器来调试代码.

有没有人找到一种方法来获得对PHP7的支持?即使它是世界上最混乱的解决方案,也足够了.

php plugins phpstorm php-7

12
推荐指数
1
解决办法
3394
查看次数

Laravel Homestead php-7"php5-fpm:无法识别的服务"关于流浪汉

在尝试在每个项目安装中使用php-7版本的Laravel Homestead时,我在以下期间看到此错误vagrant up:

php5-fpm: unrecognized service

我已经尝试vagrant destroy并重新安装了Vagrant盒子,但它仍然会回到这个错误.

全局使用Homestead时我没有收到错误.

怎么解决这个问题?

php laravel homestead php-7

12
推荐指数
2
解决办法
9051
查看次数

在Ubuntu Windows子系统Linux上PHP7.0-fpm非常慢

我最近安装了Windows Subsystem Ubuntu shell,并将我的所有开发从XAMPP转移到通过ubuntu windows子系统安装的nginx和php7.0-fpm.

我面临的问题是php文件加载速度极慢.对于测试我简单地说

<?php phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)

在一个文件中并执行它.字面上,系统花了两分钟才回复.我调试了很多,但找不到任何解决方案.

我通过nginx服务器块运行nginx并设置了我的本地域.

我确信通过观察如果我加载一个静态文件即txt或html文件,它会加载速度非常快.

下面是我的网站启用文件和nginx conf文件..

网站已启用

server {
    listen 80 ;
    listen [::]:80;

    root /mnt/c/xampp/htdocs/doit/;
    index index.html index.php;

    server_name doit.dev www.doit.dev;
    error_log /var/log/nginx/error.log;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_read_timeout 120;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }   
}
Run Code Online (Sandbox Code Playgroud)

Nginx配置文件:

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on; …
Run Code Online (Sandbox Code Playgroud)

fastcgi nginx php-7

12
推荐指数
2
解决办法
4986
查看次数