Articles of PHP

Promlem与Ubuntu 16.4和PHP的性能

我们在Windows server 2016环境中新安装了Ubuntu 16.4 LTS + apache + mysql虚拟服务器。 我们目前的云服务生产系统运行起来应该是这样的,服务器上的页面加载时间大约200ms左右。 但是在我们的环境中使用时,同样的页面有3,4秒的加载时间。 这只发生在一个特定的PHP页面上。 其他页面在页面加载时间上有一定的结果。 服务器有很多免费的资源,我给了服务器40个核心(全部)和8千兆字节的RAM。 所以这不应该是缺乏资源。 我到目前为止调整了MySQL。 如果我使用phpmyadmin运行SQL查询sraight,他们的响应时间就像0,02sec / query … 我认为我们的环境有一些阻止PHP脚本或一些networking相关的事情或PHP的错误,Apache设置… 从哪里开始debugging这个问题? 我如何加快PHP? 我做了很多谷歌search,但他们没有帮助。 事情就像不要调用mysql localhost,而是使用127.0.0.1等等。

上传文件时,PHP负载均衡器落后

我已经正确安装了AWS负载均衡器。 我正在使用Symfony 3.3,PHP 7.1和NGinx。 我已经做了一些像Symfony上推荐的反向代理设置一样的东西。 我还在ELB上设置了粘滞性,以确保会话被追溯到同一台服务器。 我使用FlySystem和VichUploadBundle来抽象文件的上传,我将这些文件存储在Amazon S3上,而不是在应用程序服务器上。 当上传文件看起来像PHP崩溃。 我通过由NGinx处理ELB健康检查testing了这一点,并确定NGinx仍然正常返回,但服务器无法访问,应用程序没有加载。 (我现在已经添加了由Symfony处理的ELB运行状况检查,以确保失败的服务器从缩放组中删除)。 我不知道发生了什么事,我只知道PHP在处理上传时似乎已经崩溃了。 会话应该是相同的,上传应该通过粘性处理去同一个服务器。 当然,如果没有坐在负载平衡器后面,上传也可以毫无问题地进行。

如何检查当前的pm.max_children设置?

我修改了/opt/plesk/php/7.0/etc/php-fpm.d/domain.com.conf文件中的/opt/plesk/php/7.0/etc/php-fpm.d/domain.com.conf 。 我重新启动了php70-fpm服务,并想检查我的设置是否启用。 我怎样才能检查这个设置?

Nginx的proxy_pass和proxy_set_header导致打开的文件太多

我在nginx中有下面的.conf来平衡服务器a和b: upstream myapp { server a.myapp.com; server b.myapp.com; } server { listen 80; server_name myapp.com; location / { proxy_pass http://myapp; } } 和两个服务器与PHP 7和laravel运行我的应用程序,在同一个nginx内。 通过这个configuration,主机头变成“myapp”,laravel在一些URL系统中使用它来进行资产和链接。 正如文档中所述,我使用了proxy_set_header指令,如下所示: upstream myapp { server a.myapp.com; server b.myapp.com; } server { listen 80; server_name myapp.com; location / { proxy_pass http://myapp; proxy_set_header Host $host; #this causes too many open files } […]

Nginx错误内存

我有一个Nginx + PHP的问题。 这是错误的 PHP message: PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 896464024 bytes) in /sistemas/html/producao_11003/prod/third/zipfile/zipfile.php on line 122" while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: XXX.XXX.XXX.XXX, request: "POST /11003/BackupProcess/BackupProcess.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "xxx.xxx.xxx.xxx.", referrer: "https://xxx.xxx.xxx.xxx/11003/gerarBackup/gerarBackup.php" 我尝试增加php.ini中的memory_limit在我的info.php工作,但是当我再次运行命令我得到同样的错误。 在我的php-fpm这行有评论 ;php_admin_value[memory_limit] = 128MB.

无法在PHP 5.6上安装php_ibm_db2.dll

尝试启动Apache时出现以下错误。 我已经确认扩展名是在文件夹和其他扩展名,如sqlsrv工作得很好。 这是唯一一个似乎加载失败的人。 我正在运行32位PHP和Apache。 扩展下载 [17-Oct-2017 16:45:44 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.6.25/ext/php_ibm_db2_nts.dll' – The specified module could not be found. in Unknown on line 0 [17-Oct-2017 16:45:44 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.6.25/ext/php_ibm_db2_ts.dll' – The specified module could not be found. in Unknown on […]

phpinfo在fcgi请求(IIS)上显示空path

试图让图像运行在IIS(地狱)PATH突然空phpinfo。 从CLI运行PHP时填充,但不通过FCGI请求填充。 该path被设置为一个系统环境variables,所以应该是好的,但很明显,我失去了一些东西。 感谢您的build议。

WordPress的网站域更改和jQuery中断; 基于nginx的

试图解决为什么jQuery不工作后,我更改WordPress的网站url中的域名。 我在nginxdebugging日志中收到这些消息… 2017/10/18 16:01:59 [info] 6657#6657: *495 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too while reading upstream, client: 221.234.103.135, server: example.com, request: "GET /wp-includes/js/wp-emoji-release.min.js?ver=4.8.2 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "example.com", referrer: "http://example.com/"; 2017/10/18 16:02:03 [info] 6657#6657: *498 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too […]

在Nginx上获得PHP的URL段

我有一个PHP脚本,应接受参数作为URL段如下: wwww.site.com/apps/myapp/index.php/param1/param2 目前我有这个工作没有问题(感谢这个问题 ): www.site.com/index.php/param1/param2 然而,我有麻烦得到它的工作时,index.php是在子目录中。 到目前为止,我在nginx.conf中有这个configuration: location / { root /var/www/html; index index.html index.htm index.php; try_files $uri $uri/ /index.php; } location /apps/myapp/ { root /var/www/html/apps/myapp; index index.html index.php; try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } 在我的日志中,我仍然得到这个错误: FastCGI sent in stderr: "Primary script […]

未find类“数据库\\ SQLite3”

我在Ubuntu 16.04 LTS上遇到了SQLite3 for PHP 7的一些问题。 通过sudo apt-get install php-sqlite3安装模块后。 现在,即时通讯试图运行这个代码: <?php namespace Database; class Database extends SQLite3 { … } 它总是失败。 Error.log报告以下内容: PHP Fatal error: Class 'Database\\SQLite3' not found in /var/www/public/test/app/Database.php on line 4 如果使用phpinfo()并寻找SQLite3,我得到以下内容: phpinfo的截图 去你有什么想法是什么错? 最好的祝福