标签: php

MySQL 和 phpMyAdmin - 导出并不总是导出所有内容

所以事情是这样的。在完全不同的主机、安装、操作系统以及 MySQL 和 PHP(和 phpMyAdmin)版本上(但总是在我通过 Internet 访问的主机上),我发现了一个有趣的情况:

当我尝试使用压缩(gzip、zip,没关系)导出其中包含“大量”数据的数据库表(MyISAM 或 InnoDB)时,生成的文件不完整。

我将“很多”放在引号中,因为它的范围从 1 000 行到 30 000 行,具体取决于平台。似乎与实际金额无关。

我通过在命令行上运行 mysqldump 然后压缩输出来解决这个问题,但我想听听社区的意见这是否是一个已知问题,或者是否与我们在南非的垃圾带宽有关,最近被一只信鸽殴打

mysql php web-hosting

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

使用 PHP FastCGI 进行 Varnish / 更改 FastCGI 服务器端口

我想使用 Varnish Cache 运行 Magento。到目前为止,我的 PHP 运行为 FastCGI。我现在正在尝试设置 Varnish。还有一个可能非常愚蠢的问题。

因此,据我了解,Varnish 将侦听端口 80 并获取我的网络服务器中缺少的任何内容,该服务器应该在端口 8080 上运行(或我想要的任何端口)。就我而言,这是 FastCGI。

那么如何更改 FastCGI 运行的端口呢?或者我错过了什么/误解了一切?

谢谢!

php cache varnish fastcgi

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

如何在没有任何错误的情况下禁用 ModSecurity

我在运行带有 apache Web 服务器的 Ubuntu 操作系统的 VPS 上启用了 Mod_Security。现在,我想禁用它,因为我设置了另一个防火墙来保护我的服务器。

我尝试以相反的顺序执行这些步骤(取出代码行并禁用模块),但是当我尝试重新启动 Apache 时,它​​一直说它无法重新启动。

我到处找,但我找不到如何禁用 WAF。

任何帮助,将不胜感激!

ubuntu php mod-security apache-2.2

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

如何防止 mod_rewrite 解码路径中的字符串?

我正在尝试使用 mod_rewrite 创建一个宁静的 API。

我有一个规则:

RewriteRule v2/(.*)$ v1/index.php?request=$1 [QSA,NC,L]
Run Code Online (Sandbox Code Playgroud)

然而,路径可能包含 base64 编码的字符串(即可以有 + 或 /)并且它们在到达 PHP 之前被解码。

例如,如果我去

/v2/cards/9VwQLli%2Bf0ogFl19AVRFLuztbp8cP0rYCgXBu3H9%2BDc%3DBe
Run Code Online (Sandbox Code Playgroud)

PHP 获取$_REQUEST['request']cards/9VwQLli f0ogFl19AVRFLuztbp8cP0rYCgXBu3H9 Dc=Be'.

更糟糕的是,如果我在其中添加斜杠(例如9VwQLli%2Bf0ogFl19AVRFLuztbp8c%2FP0rYCgXBu3H9%2BDc%3DBe-%2F是斜杠),我会得到 404。

我怎样才能防止这种情况发生?

注意:我尝试了BNE标志,但它们没有任何效果。我想作为一个黑客,我可以将所有+字符_都转换/-,或者甚至是双 url 编码,但我想知道是否有更好的方法。

php mod-rewrite rewrite encoding apache-2.2

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

APC - 调整 apc.mmap_file_mask

将 APC 配置为 PHP 的操作码缓存时,有一个名为 apc.mmap_file_mask 的配置设置。从我读过的内容来看,您可以通过三种方式对其进行配置,但我并不真正了解每种方式的含义。

  1. /tmp/apc.XXXXXX -(默认)“文件支持的 mmap”
  2. /tmp/apc.shm.XXXXXX - 使用“POSIX 风格的 shm_open/mmap”
  3. /dev/zero - “使用内核的 /dev/zero 接口访问匿名 mmap'ed 内存”

来源:http : //php.net/manual/en/apc.configuration.php#ini.apc.mmap-file-mask

任何人都可以评论这些以及他们会推荐什么吗?我猜会有内存使用和性能方面的影响,也许还有安全方面的影响,但我不知道是不是这样?根据我完成的阅读,我假设 #2 和 #3 更快,但我认为 APC 已经在使用共享内存(由 apc.shm_size 设置),所以我不明白。

php php5 alternative-php-cache

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

连接到 MSSQL 数据库(PDO、FreeTDS、ODBC)

我有一台 Ubuntu 12.04 服务器,我正在尝试建立与 MSSQL 数据库的连接。

我已经成功使用tsqland连接isql,但osql不起作用,并且使用 PDO 与 PHP 连接也不起作用。我会尽力提供尽可能多的信息,如果您需要更多信息,请告诉我,我会的编辑。

freetds.conf

[MSSQL]
  host = TPSACC
  port = 54488
  tds version = 8.0
Run Code Online (Sandbox Code Playgroud)

odbc.ini

[MSSQL]
Description     = MS SQL connection to PRODUCTION database
Driver          = FreeTDS
Database        = PRODUCTION
Server          = TPSACC
UserName        = sa
Password        = pass
Trace           = No
TDS_Version     = 8.0
Port            = 54488
Run Code Online (Sandbox Code Playgroud)

odbcinst.ini

[FreeTDS]
Description = ODBC for Microsoft SQL
Driver      = /usr/local/lib/libtdsodbc.so
UsageCount  = 1 …
Run Code Online (Sandbox Code Playgroud)

php odbc pdo sql-server freetds

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

imapsync 或 PHP 来迁移电子邮件

我正在编写一个简单的网络应用程序,人们可以使用它将他们的电子邮件从一台服务器迁移到另一台服务器。我已经阅读imapsync并尝试过。到目前为止,它工作得很好,似乎是一个很好的解决方案。在迁移结束时,它告诉我它已经使用了大约 350 MB 的内存。

另一种可能的解决方案是imap-movePHP 脚本。它在此处有自己的 GitHub 页面:https : //github.com/edoceo/imap-move。我似乎无法找出它使用了多少内存。

我希望大约 30 个用户能够同时使用 Web 应用程序,而不会耗尽内存。我想测试哪种解​​决方案最快和/或使用最少的内存,但不知道如何。有什么建议?

email php migration imapsync

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

PHP-FPM 状态为空

我设置pm.status_path = /status选项:

ubuntu:~$ cat /etc/php/7.1/fpm/pool.d/www.conf | egrep 'listen|status'
listen = /run/php/php7.1-fpm.sock
listen.owner = www-data
listen.group = www-data
pm.status_path = /status
Run Code Online (Sandbox Code Playgroud)

套接字是正确的(和站点工作):

ubuntu:~$ sudo ls -la /run/php/php7.1-fpm.sock
srw-rw---- 1 www-data www-data 0 Feb  9 07:58 /run/php/php7.1-fpm.sock
Run Code Online (Sandbox Code Playgroud)

但我无法收到此状态页面:

ubuntu:~$ SCRIPT_NAME=/status SCRIPT_FILENAME=/status \
> REQUEST_METHOD=GET sudo cgi-fcgi -bind -connect /run/php/php7.1-fpm.sock
Content-type: text/html; charset=UTF-8
Run Code Online (Sandbox Code Playgroud)

或者使用 nginx 配置:

server {
    listen 80;
    server_name localhost;

    location /status {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php7.1-fpm.sock;
    }
}
Run Code Online (Sandbox Code Playgroud)

curl http://localhost/status为空,状态代码为 200。
curl http://localhost/something按预期返回错误 404。

我应该怎么做才能解决这种情况?要检查什么?

linux ubuntu php php-fpm ubuntu-16.04

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

尝试在 Google Cloud Console 上设置错误报告后出现 HTTP 500 错误

我在 SSH 上尝试了以下代码,尝试在 Google Cloud Console 上的 Wordpress Bitnami 虚拟机实例上设置错误报告:

sudo -i
sudo nano /opt/bitnami/php/etc/php.ini

auto_prepend_file="/opt/bitnami/vendor/google/cloud-error-reporting/src/prepend.php"
Run Code Online (Sandbox Code Playgroud)

此后,vm-instance IP 地址无法加载。( XX.XXX.XXX.XXX )

它不断出现 HTTP 500 错误。运行 Bitnami 的支持工具后,我在 Bitnami 的支持论坛上发帖,该帖子是回复:

据我所知,这些错误应该与您添加的错误报告配置有关。Apache 的日志有一个错误,应该来自添加的 google 文件,但我们无权访问它们,并且错误报告功能和配置不是我们的专家。

[Wed Mar 17 02:11:30.121059 2021] [proxy_fcgi:error] [pid 1246:tid 140630424536832] [client 203.116.130.16:52842] AH01071: Got error 'PHP message: PHP Warning:  Unknown: failed to open stream: No such file or directory in Unknown on line 0PHP message: PHP Fatal error:  Unknown: Failed opening required '/opt/bitnami/apache2/htdocs/vendor/google/cloud-error-reporting/src/prepend.php' (include_path='.:/opt/bitnami/php/lib/php') in Unknown …
Run Code Online (Sandbox Code Playgroud)

php http wordpress bitnami google-cloud-platform

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

为什么我的 PHP 安装在 Windows XP 上不被 Apache 识别?

我已经完成了http://www.ricocheting.com/server/php.html中给出的以下程序来安装 PHP 和 Apache。当我启动 Apache 服务器时,它显示“无效的命令 PHPIniDir”。我该如何解决这个问题?

我想学习PHP。当我开始安装时,我遇到了这个问题。

编辑 Apache Conf 文件

使用记事本打开 httpd.conf(应该是开始菜单快捷方式“Apache HTTP Server 2.2 > 配置 Apache 服务器 > 编辑 Apache httpd.conf 配置文件”)。在文件的开头或结尾添加以下几行:(注意:务必将 C:/php 部分更改为您安装 PHP 的目录)

LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"
Run Code Online (Sandbox Code Playgroud)

php installation apache-2.2

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