Articles of PHP

500错误:“标题之前的脚本输出结束” – WordPress主题内的简单脚本

我有一个WordPress的多站点安装在非托pipe的CentOS服务器上运行正常,但是对于某些function,我需要在某些页面上执行自己的操作,并手动与一些非Wordpress表进行交互。 当为表单操作编写脚本时,我得到一个500:内部服务器错误。 根据Apache日志是由于“在标题之前输出脚本结束”。 检查它不只是我做一些荒谬的事情,我试图直接链接到文件,并将其更改为<?php echo "Hello World!"; ?> <?php echo "Hello World!"; ?> ,但问题一直存在。 所以它不能成为脚本本身的问题。 WordPress没有任何问题意味着它不一定是PHP本身… 我已经尝试了谷歌和拖网通过这里,但我似乎无法find有用的答案。 任何帮助将非常受欢迎。 先谢谢你。

Vagrant,Apache和FastCGI使用巨大的CPU

我真的不明白为什么这么慢。 网站加载非常缓慢。 和vboxheadless命中超过100%CPU每个请求。 我使用2048内存和1个CPU。 这里是活动监视器和顶部: http : //imgur.com/a/j4kqA 这是我的/var/log/error.log: [Mon Apr 25 09:47:45.572752 2016] [mpm_prefork:notice] [pid 20447] AH00169: caught SIGTERM, shutting down [Mon Apr 25 09:47:46.617995 2016] [mpm_worker:notice] [pid 16841:tid 140284476835712] AH00292: Apache/2.4.7 (Ubuntu) mod_fastcgi/mod_fastcgi-SNAP-0910052141 c$ [Mon Apr 25 09:47:46.618120 2016] [core:notice] [pid 16841:tid 140284476835712] AH00094: Command line: '/usr/sbin/apache2' [Mon Apr 25 09:47:46.618358 2016] [:notice] […]

MySQL服务器遇到高压力/最大连接

简而言之:在高峰营业时间,我们正在接触最大的连接并看到MySQL的性能很差,无法确定是负载问题还是configuration问题。 Long:首先,这是我们在Digital Ocean上托pipe的服务器规范: 核心:20 记忆: 总共使用免费共享缓冲/caching可用Mem:62G 48G 4.7G 216M 10G 14G MySQL WorkBench仪表板快照: MySQL工作台仪表板 我们通常在stream程列表中有超过200个条目,几乎所有的条目都是“打开表格”,“closures表格”以及“稍微清理一下”。 清理条目有COMMAND killed和NULL INFO( SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST )。 我们真正看到的只有很长的一些查询是大量使用表中的一些INSERT,并且在WHERE中用主键UPDATE命令来处理沉重的表。 他们的状态是在stream程列表中的“更新”。 MySQL .cnf设置: key_buffer_size=1G myisam_sort_buffer_size=1073741824 max_length_for_sort_data=8388608 max_sort_length=8388608 sort_buffer_size=1073741824 join_buffer_size=1073741824 preload_buffer_size=1073741824 read_buffer_size=1073741824 read_rnd_buffer_size=1073741824 thread_cache_size=450 max_allowed_packet=100M max_connections=400 lock_wait_timeout=50 wait_timeout=120 table_open_cache_instances=10 table_open_cache=6000 table_definition_cache=6000 innodb_flush_method=O_DIRECT innodb_buffer_pool_size=46G innodb_buffer_pool_instances=46 我们在单个实时服务器上有超过800个数据库,并且有成千上万的用户使用一个应用程序来频繁发出服务器请求,其中有大量单独的logging更新或需要同步到多个用户的插入。 问题: 鉴于.cnf设置和我们的服务器规格,就MySQL WorkBench仪表板快照而言,我们是否应该体验到这种configuration下的减速/连接? 我们经常打我们的最大连接,并从PDO获取PHP中的SQLSTATE[HY000] [2002] Resource temporarily […]

如何在saas应用程序中监控客户端带宽?

我正在build立一个让客户拥有自己空间的SaaS。 他们得到一个子域,但他们也可以添加自己的自定义域通过设置他们的CNAME到我的服务器。 子域和自定义域不会停放,只是指向我的服务器,然后我的应用程序检查URL并显示正确的内容。 在这种情况下,我将如何监控每个子域和域的带宽? 如果这有什么不同,我使用PHP。

pecl安装pecl_http失败 – 升级到php7和http.so会造成麻烦

类似的问题: pecl_http加载失败 所以我想升级到PHP7.0 ,我相信一切都很好。 但我想我错过了一些页面包,因为我无法login到自己的云端 。 所以我想安装pecl_http : pecl install pecl_http PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/http.so' – /usr/lib/php/20151012/http.so: cannot open shared object file: No such file or directory in Unknown on line 0 downloading pecl_http-3.0.1.tgz … Starting to download pecl_http-3.0.1.tgz (197,372 bytes) ………….done: 197,372 bytes 71 source files, building running: […]

aws豆茎php工作者缩放

我有一个非常轻量级的PHP脚本,在我的工作环境中运行。 CPU利用率几乎没有。 为了让我的SQS队列得到控制,我必须不断手动启动新的工作人员来减less数量。 当请求数量和CPU利用率较低时,如何让我的工作人员进行自动缩放?

在Debian Jessy上安装PECL v8js

我尝试在Debian / Jessy上为PHP-5.6安装pecl-v8js。 $ apt-get install php5 php5-dev libapache2-mod-php5 apache2 php5-cli libv8-dev g++ cpp … $ pecl install v8js-0.6.3 … checking for V8 version… 3.14.5.8 configure: error: libv8 must be version 4.6.76 or greater ERROR: `/tmp/pear/temp/v8js/configure –with-v8js' failed 我如何升级libv8到所需的4.6.76?

phpMyAdmin reCaptcha错误allow_url_fopen = 0

我有phpMyAdmin在Nginx上运行。 我还启用了reCaptcha $cfg['CaptchaLoginPublicKey'] = 'secretkey'和$cfg['CaptchaLoginPrivateKey'] = secretkey' 。 我将上面添加到config.inc.php 。 正如你在下面看到的,我已经启用了reCaptcha。 密钥也正确input。 但是当我login时,我得到以下错误: inputvalidation码错误,请重试! ./libraries/plugins/auth/recaptcha/ReCaptcha/RequestMethod/Post.php#68 file_get_contents()中的警告:https:// wrapper在服务器configuration中被禁用,allow_url_fopen = 0 我确定我input了相关validation码。 根据这个Bug报告,这个问题将在下一个版本中解决。 我正在使用最新的PHPMyAdmin 版本4.6.2与PHP7.0。 在我的php.ini中, allow_url_fopen = off 。 任何机构知道这是一个解决方法? 谢谢。 更新:如果allow_url_fopen = On,问题是固定的。 但是,有没有解决上述错误,因为我想将其设置为closures,出于安全原因。

PHP-FPMsubprocess被创build并且不会消失

我有一个Ubuntu的15.04服务器与160GB的RAM和40个CPU核心。 Nginx是Web服务器,清漆用于caching。 该网站是在平日里交通非常高的WordPress的。 www.conf是: [www] user = www-data group = www-data listen = 127.0.0.1:7654 listen.backlog = 65535 listen.owner = www-data listen.owner = www-data pm = ondemand pm.max_children = 1000 pm.process_idle_timeout = 10s pm.max_requests = 500 chdir = / 我正在使用Monit进行监控。 在monit中,可以看到php subprocess正在以戏剧性的方式创build。 它往往会增加, 停在pm.max_children价值。 没有一个孩子的过程被杀死或重新调查,然后该网站变得没有反应。 只有重新加载或重新启动php5-fpm才能使站点处于工作状态,即进程需要手动终止。 为什么这些进程不会自动重新生成? 我怎么解决这个问题?

重写URL,但有PHP读取旧的URL

在我的平台上,每个用户都有自己的configuration文件。 该文件是由他们创build的子域命名的。 例: user1.domain.com user2.domain.com user3.domain.com 系统通过$ _SERVER ['SERVER_NAME']读取URL并抓取子域。 然后它根据子域查找适当的configuration文件。 例: if the url is user1.domain.com the system looks up user1.config.php. 每个用户都可以select使用自己的域名。 我现在正在通过指出Alogging来做到这一点。 例: user 1 points theirDomainName.com to my IP address via their A record 我怎样才能使用htaccess所以url读取他们的theirDomainName.com但平台(PHP)的后端读取user1.domain.com因此平台知道拉user1.config文件