标签: php

我需要打开 25 端口才能使用 php 邮件功能发送电子邮件吗?

我有一个 Linux 网络应用程序。

我是否需要打开端口 25 才能仅使用 PHP 邮件功能发送电子邮件?如果我必须打开端口 25,如何禁用接收电子邮件?

编辑: 我问是因为我知道 sendmail 是我服务器上的消息传输代理。

email php email-server sendmail

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

如何让 phpMyAdmin 询问我的用户名和密码

我在 mysql 5 中使用了 rhel 5 和 php 5。我的服务器已经配置好并且所有应用程序都在顺利运行。我正在以 root 身份访问 mysql 并提供我的密码。但是,当我通过浏览器访问 phpmyadmin 时,它并没有要求我输入密码。有人请告诉我如何设置它以提示输入用户名和密码。由于我不熟悉 php 和 mysql,请告诉我如何以简单的方式进行操作。

mysql php password

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

在 IIS6 上安装 PHP5 时出错

我正在尝试在使用 IIS6 的 Windows Server 2003 机器上安装 PHP。我按照本指南安装它,包括使用 fastCGI 的二进制文件。但是,当我创建 phpinfo(); 时,我认为我做的一切都是正确的。页面我得到以下信息:服务器错误,无法连接到 fastcgi 服务器。

我试过查看我能想到的所有日志。IIS 日志中没有任何有用的内容,PHP 甚至从未在我的事件日志中记录错误或任何内容。

请帮助,谢谢:)

php iis-6 fastcgi php5

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

无法删除 PHP 脚本的内存使用限制

情况

我的 PHP 脚本出现问题,收到以下错误消息:

Fatal error: Out of memory (allocated 359923712) (tried to allocate 72 bytes) in /path/to/piwik/core/DataTable.php on line 969

我正在运行的脚本是: /path/to/piwik/misc/cron/archive.sh

我假设数字是字节,这意味着总数约为 360MB。

出于所有意图和目的,我已将服务器的内存限制增加到远高于 360MB,但这是它始终出错的数字(给予或接受一个字节)。

请注意:这个问题不是关于修复脚本中的内存泄漏,也不是关于脚本本身使用这么多内存的原因。该脚本是 Piwik 归档过程的一部分,所以我不能只修复任何内存泄漏等。有关此脚本的更多信息以及我增加内存限制的原因,请参阅“如何设置自动归档”

问题

鉴于脚本试图使用超过 360MB 的内存,我无法更改,为什么我似乎无法增加服务器上 php 可用的内存量?

6 月 23 日更新:请参阅下面的“我尝试过的内容”>“增加 Linux 的每个进程内存限制”以了解背景......如果我设置了ulimit -v 1024000,然后检查它ulimit -v我得到了正确的“1024000”值。如果我再次运行该脚本,它将继续前进,但最终会在达到相同的内存限制 (~360MB) 时出错。如果我立即检查ulimit -v,它已重置为“524288”的原始值。这似乎是问题的根本原因。


我试过的

增加 PHP 的 memory_limit

鉴于 php.ini 文件:

php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration …
Run Code Online (Sandbox Code Playgroud)

linux php memory

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

Apache/PHP 似乎将符号链接缓存了 60 秒 - 如何停止它,或者发现真正缓存符号链接的内容并停止它?

我们有一个 PHP Web 应用程序,我们正在使用 Capistrano 部署到运行 CentOS 5.5 的 LAMP 服务器。Capistrano 使用符号链接管理切换到最新版本(并回滚),因此我们的文档根目录必须指向该符号链接。

不幸的是,我们已经看到,在符号链接更新后的整整 60 秒内,对 PHP 应用程序的 Web 请求仍然指向文档根目录符号链接的先前目标。

我能找到的 PHP 配置中唯一可能与此相关的realpath_cache_ttl设置是设置,但是它被设置为 120 秒。我在 apache 的配置中找不到任何东西。

我们没有使用 APC。

我什至找对地方了吗?

php capistrano apache-2.2

7
推荐指数
2
解决办法
7328
查看次数

想要一个非常简单的 Ubuntu SMTP 服务器

我正在寻找一个非常简单、轻量级的 SMTP 服务器来在 Ubuntu 9.04 VPS 上运行。

我需要的唯一功能是支持 PHP 邮件命令;

<?php
mail('caffeinated@example.com', 'My Subject', 'My message');
?>
Run Code Online (Sandbox Code Playgroud)

这就是它需要做的全部。对于入站邮件,我不需要日志记录、POP3、IMAP 或其他任何东西 - 只是简单的纯文本 SMTP。电子邮件将没有文件附件。

任何建议都非常感谢。

ubuntu php smtp

7
推荐指数
3
解决办法
8224
查看次数

所有 PHP 站点都停止在 IIS7 上工作,内部服务器错误 500

我在 Windows Server 2008 上使用 Web 平台安装程序安装了多个 drupal 7 站点。

直到知道他们工作没有任何问题,但最近内部服务器错误 500 开始出现(每隔这么多请求一次),现在它发生在任何 php 站点的所有请求中。

没有太多细节可以继续,从它工作到现在之间没有任何变化(反正我什么都不知道)

日志文件中充斥着诸如

[09-Aug-2011 09:08:04] PHP Fatal error:  Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0
[09-Aug-2011 09:08:16] PHP Fatal error:  Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0
[09-Aug-2011 09:08:16] PHP Fatal error:  Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown …
Run Code Online (Sandbox Code Playgroud)

iis php windows-server-2008 drupal web-platform-installer

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

Memcache+PHP 会话调优:memcache 如何使密钥过期?

我对此进行了一些研究,但没有找到明确的答案。

我们有一个使用 PHP+Memcache 会话处理程序的 Web 应用程序。

我有几个问题,都是相互关联的,但最终我的问题是,“为什么 PHP 会话在我们认为应该到期时显然没有到期?” 即最终用户应该在设定的时间后退出应用程序,但不是。

下面是点,请帮我把它们连接起来,并告诉我我错在哪里:

  • 我的理解是 Memcache 根据设置的时间使键过期,以秒为单位(或更大值的 unix 时间戳)。
  • 过期是懒惰的——即什么都没有被提前删除
  • PHP memecache session handler 使用sessions.gc_max_lifetime 来设置memcache key 过期时间。idk,也许不是?
  • Memcache 应该在提供请求的密钥并看到它已过期时不提供它(然后也可能删除它?)。但至少不会为它服务。
  • 对于 PHP 而言,这种不提供服务的行为应该等同于删除的会话和用户被注销。

用户没有被注销。

我怎么能调试呢?Memcache 并不完全透明。

没有工作的示例案例是会话超时设置为两小时的站点。示例用户会在晚上最后一次使用该站点,然后在 8 到 10 小时后返回该站点并仍处于登录状态。

php moodle memcache session

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

CentOs6 上的 PDO_MYSQL 安装

我有一个运行 PHP 5.3.2 的新 CentOS 6 服务器。php -v 的输出显示

Unable to load dynamic library '/usr/lib64/php/modules/pdo_mysql.so - 
/usr/lib64/php/modules/pdo_mysql.so cannot open shared object file
Run Code Online (Sandbox Code Playgroud)

我修改了 /etc/php.ini 以包含 extension=pdo.so 和 extension=pdo_mysql.so 并重新启动 httpd。我确实安装了 PDO 并且 phpinfo.php 显示安装了 pdo_sqllite??如何安装 pdo_mysql 并纠正上述警告消息?

php centos pdo

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

Nginx/FPM/PHP 所有 php 文件都说“找不到文件”。

我刚刚在 centos 5.8 最终 64 位机器上安装了 nginx 1.1.13 和 php 5.4.0。Nginx 和 PHP/Fpm 正在运行,我可以通过 ssh 命令行运行 php 脚本,但在浏览器中我不断收到“找不到文件”。我所有的 PHP 文件都出现错误。

这就是我的 nginx.conf 处理 PHP 脚本的方式:

      location ~ \.php$
      {
              root                    /opt/nginx/html;
              fastcgi_pass            unix:/tmp/fpm.sock;
              fastcgi_index           index.php;
              fastcgi_param           SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name;
              include                 fastcgi_params;
      }
Run Code Online (Sandbox Code Playgroud)

这是从我的其他服务器直接复制/粘贴的,在此设置下它可以正常工作(但它们运行旧版本的 php/fpm)。

为什么我会收到这些错误?

php nginx php-fpm

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