我刚刚订阅了一个新的专用服务器,但 PHP 执行性能比预期的要差。执行时间是我旧共享服务器上的两倍!
我绝对不是服务器管理方面的专家,所以我想知道我错过了什么。
以下是一些可能有助于找出问题所在的内容:
在内核更新和apt-get installapache2 和 php的基本更新后获得如此糟糕的性能是否正常?
我试图创建一个别名或虚拟主机以作为不同的用户运行。下面是httpd.conf不起作用的 apache 的一部分。或者,它甚至可能吗?
<VirtualHost blah:80>
user DifferentUser
group DifferentGroup
ServerAdmin blah
DocumentRoot blah
ServerName blah
ServerAlias blah
ScriptAlias /cgi-bin/ blah
DirectoryIndex index.html index.htm default.htm index.shtml index.php
ErrorLog logs/blah-error_log
CustomLog logs/blah-access_log common
<Directory "/blah/">
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride all
Order Deny,Allow
Deny from none
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 我刚刚通过 dotdeb 源将我的服务器(使用 Plesk 11 运行)从 PHP 5.3 更新到 5.4。除了几件事外,一切都很好。
Cron <root@hosting> [ -x /usr/lib/php5/maxlifetime ] && [ -x /usr/lib/php5/sessionclean ] && [ -d /var/lib/php5 ] && /usr/lib/php5/sessionclean /var/lib/php5 $(/usr/lib/php5/maxlifetime)和内容PHP Fatal error: Directive 'safe_mode' is no longer available in PHP in Unknown on line 0。我在哪里可以解决这个问题?我没有 root 用户的 cron,它在crontab -l.我刚刚用 nginx(我是新手)和 PHP 设置了一个新服务器。在我的网站上,基本上有 3 种不同类型的文件:
我从这个问题和这个页面了解到,静态文件不需要特殊处理,会尽快提供。
我按照上述问题的答案为 PHP 文件设置缓存,现在我有一个这样的配置:
location ~ \.php$ {
try_files $uri =404;
fastcgi_cache one;
fastcgi_cache_key $scheme$host$request_uri;
fastcgi_cache_valid 200 302 304 30m;
fastcgi_cache_valid 301 1h;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/example$fastcgi_script_name;
fastcgi_param HTTPS off;
}
Run Code Online (Sandbox Code Playgroud)
但是,现在我想防止在论坛上缓存(无论是针对所有人还是仅针对登录用户 - 还没有检查后者是否适用于论坛软件)。我听说位置块内有“如果是邪恶的”,所以我不确定如何继续。使用位置块内的 if 我可能会在中间添加它:
if ($request_uri ~* "^/forum/") {
fastcgi_cache_bypass 1;
}
# or possible this, if I'm able to cache pages …Run Code Online (Sandbox Code Playgroud) 我搜索了高低,没有找到任何东西。也许我不知道要搜索什么。
环境是带有 PHP 5.2.4 和 PostgreSQL 9.2 的 Ubuntu Lucid (10.4)。
PHP 在 5.2.4 被“持有”,dpkg --set-selections. 我只能找到 5.2.6 版本的 php5-pgsql,当我尝试使用 dpkg 安装时,它抱怨 PHP 为 5.2.4。
试运行aptitude install php5-pgsql告诉我它要升级到 PHP 5.3。
编辑:升级 PHP 目前不是一个选项。
我应该补充一点:我尝试使用--with-pgsql --with-pdo-pgsql. 结果没有得到任何扩展。libpq 和 libpq-dev 都已安装。
我想为c程序做一个在线判断。我在 textarea 中捕获了用户输入并从中制作了 .c 文件。现在它想让 php 运行 linux 命令 `gcc code.c
我是这样做的
$cmd=gcc -std=c99 code.c -g -Wall
$last=exec($cmd,$out,$status);
Run Code Online (Sandbox Code Playgroud)
正如stackoverflow中所建议的那样。但是这个命令不起作用。它以状态 1 返回。但其他 linux 命令如 date、pwd 等工作正常。
我怀疑的问题是whoami命令说“没有人”。现在,这个“没人”可能没有运行 gcc 的权限。那么,请告诉我如何使其工作或如何为用户“nobody”分配权限?
我知道它非常不安全。但就这样吧。请给出解决方案以使命令正常工作。
我已经浏览了与 phpMyAdmin 显示的空白页面相关的所有链接,但它们都没有帮助我解决我的问题。
我已经安装了 phpMyAdmin 并将其部署在 Apache 服务器上。我还成功安装了 PHP 5.6,并且 PHP 文件可以正确显示。
安装后,我尝试访问以下 URL:
http://localhost/phpMyAdmin/
Run Code Online (Sandbox Code Playgroud)
它显示一个只有图标的空白页面。我能做些什么来解决这个问题?
我有 PHP 版本 5.5.21-1+deb.sury.org~precise+2在 Ubuntu 12.04 下使用 Apache2 运行
当我跑 phpinfo()它显示 curl 版本为7.22.0
当我跑 curl --version通过命令行- 它显示的版本为7.34.0
如何让 PHP 使用较新的版本?我需要一个卷曲版本>=7.24.0来满足我的需求
编辑:好的 - 我已经解决了一半的问题 - 这是我的curl --version输出:
curl 7.39.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Run Code Online (Sandbox Code Playgroud)
所以我有 curl 7.39 - 但 libcurl/7.22
如何更新 libcurl?
我使用 Vesta 运行 Ubuntu 12.04 x64 VPS,以及一个 PHP 站点。它已被多次入侵,注入的代码如下所示:
<?php $KoDgalxVvsZfidVcEOTJDeMX='ba'.'se6'.'4_deco'.'de';eval($KoDgalxVvsZfidVcEOTJDeMX("cHJlZ19yZXBsYWNlKCIvN0xna0xnND1IR2JEOGs2WDht....
Run Code Online (Sandbox Code Playgroud)
为了修复它,我决定将所有文件的权限和所有者更改为 555 和 root,因此没有用户可以更改文件。我删除了 FTP 访问并保护了 SSH,因此只有我在 VPS 中拥有的密钥才能连接。
尽管进行了所有这些更改,但其他用户始终可以更改文件、重命名文件夹和上传另一个被黑的文件。
你认为我缺少什么?有什么建议吗?谢谢!如果您需要有关此问题的更多信息,我将很乐意与您分享,以帮助其他遭受同样邪恶之苦的人!
我在 Fedora Server 22 上运行 nginx 并且 fastcgi 脚本不起作用。
在http://panel.minefight.org/ 下输入任何登录数据,它不会加载密码失败或成功站点。其他登录表单也会发生同样的事情。服务器没有重定向用户,我不知道如何解决这个问题。我希望这个例子容易理解。
testpage 说,fastcgi 正在运行并与 nginx 连接。
php-fpm.conf:
upstream php-fpm {
server unix:/run/php-fpm/www.sock;
}
Run Code Online (Sandbox Code Playgroud)
php.conf:
index index.php index.html index.htm;
location ~ \.php$ {
try_files $uri =404;
fastcgi_intercept_errors on;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass php-fpm;
}
Run Code Online (Sandbox Code Playgroud)
错误日志包含以下内容(尝试登录游戏面板时):
2015/05/30 22:15:57 [error] 1911#0: *1 FastCGI sent in stderr: "PHP message: PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli …Run Code Online (Sandbox Code Playgroud) php ×10
apache-2.2 ×2
nginx ×2
php5 ×2
ubuntu-12.04 ×2
alias ×1
cache ×1
centos ×1
curl ×1
fastcgi ×1
fedora ×1
httpd ×1
linux ×1
mysql ×1
performance ×1
permissions ×1
postgresql ×1
security ×1
ubuntu ×1
ubuntu-10.04 ×1
vps ×1
xampp ×1