标签: php

来自 linux 的外发邮件未送达

我似乎无法通过我的 php 脚本或 Centos 5.5 LAMP 服务器上的 linux 控制台发送邮件,当电子邮件被发送到我的盒子托管的域时。

我认为这与内部的电子邮件路由有关,或者与盒子使用的 DNS 服务器没有报告正确的 MX 记录有关。

基本上我的盒子不托管任何邮件,它都托管在谷歌应用程序上。我的名称服务器由第 3 方提供商托管,我使用的是 webmin。Webmin 无法识别第 3 方提供商的设置。

我不确定如何解决这个问题。以前,当我在 cpanel 服务器上遇到这个问题时,我会编辑remotedomains和localdomains文件,将域从一个文件移动到另一个文件,它会解决问题。

我需要为任何人提供哪些信息才能确定问题所在?

谢谢

email php sendmail lamp

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

如何为 PHP 解析的 CSS 修复 Apache Content-Type?

我设置了我的 Apache 2 服务器以使用 PHP 解析特定虚拟主机中的 CSS 文件:

AddType application/x-httpd-php .css
Run Code Online (Sandbox Code Playgroud)

但是,文本带有错误的标题,这意味着不使用 CSS 文件,至少在 Firefox 中是这样。Content-Type: text/css使用 PHP设置解决了这个问题,但我不想对每个 CSS 文件都这样做。如何解决这个问题?

php apache-2.2

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

Chrome 缓存 302 重定向

我有一个 php 脚本,用于在网站上旋转横幅图像。

在 Firefox/IE 下,页面刷新将发出另一个请求并返回不同的图像。

在 Chrome 下,请求似乎被缓存,只有在新选项卡中打开页面才会导致它实际查询脚本。

我相信这曾经适用于旧版本的 chrome,我尝试了几种不同类型的重定向代码,结果都相同。

有小费吗?

<img class="banner" src="/inc/banner.php" alt="">

~$ cat /var/www/inc/banner.php 
<?php

header("HTTP/1.1 302 Redirect");
header("Cache-Control: max-age=0, no-cache, no-store, must-revalidate");

//header('HTTP/1.1 307 Temporary Redirect');
//header("expires: none");
//header("expires: max");
//header("Cache-Control: public");

$folder = '../img/banner/';

$exts = 'jpg jpeg png gif';

$files = array(); $i = -1;
if ('' == $folder) $folder = './';

$handle = opendir($folder);
$exts = explode(' ', $exts);
while (false !== ($file = readdir($handle))) {
foreach($exts as $ext) { // …
Run Code Online (Sandbox Code Playgroud)

php cache google-chrome redirect banner

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

Memcached 和 php 错误

我已经安装了 memcached,当我尝试这样的脚本测试时:

$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211);
echo $memcache->getVersion();
Run Code Online (Sandbox Code Playgroud)

我收到嵌套错误:

: 注意: MemcachePool::getversion(): Server 127.0.0.1 (tcp 11211, udp 0) failed with: Network timeout (0) in /var/www/html/admin/test.php on line 62

可能是什么问题呢?我是 memcached 的新手。

php memcached

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

如何解决符号链接上下文中的 PHP 错误“需要打开失败”?

我在 MacOS X Lion 10.7.4 上运行 Apache/PHP。我的目录结构是这样设置的:

/Users/achan/Sites/
lrwxrwx---   1 achan  staff    23B Apr 27 16:21 epwbst@ -> /Users/achan/dev/epwbst`
Run Code Online (Sandbox Code Playgroud)

epwbst/里面的符号链接在哪里~/Sites?

如果我把test.php该内部Sites/目录,Apache的正确提供该文件; 它phpinfo()像它应该的那样喷出。如果我将相同的文件放在符号链接下,则会出现此错误:

[Mon May 28 14:47:13 2012] [error] [client ::1] PHP Warning:  Unknown: failed to open stream: No such file or directory in Unknown on line 0
[Mon May 28 14:47:13 2012] [error] [client ::1] PHP Fatal error:  Unknown: Failed opening required '/Users/achan/Sites/epwbst/test.php' (include_path='.:/usr/lib/php/pear') in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)

为了确保 Apache …

php mac-osx apache-2.2

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

如何防止 Apache/PHP 在 phpinfo() 中显示环境变量部分?

我需要防止用户使用 phpinfo() 意外暴露存储在环境变量中的私有数据。有没有办法配置 apache 或 php.ini 以禁止使用 phpinfo 呈现的部分?

php environment-variables php.ini apache-2.2

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

更改 pecl 的临时目录?(安装问题)

我正在尝试安装imagick在运行 Centos 5.8 的 VPS 上。通常,这是一个快速修复,但托管服务提供商不会允许(权限已被拒绝)我使用典型修复,即重新挂载/var/tmp为可执行文件,然后重新挂载为非 exec。

我已经运行了以下命令而没有错误(正如预期的那样,需要 gcc):

yum install php-pear gcc 
yum install ImageMagick ImageMagick-devel
Run Code Online (Sandbox Code Playgroud)

之后,当我运行pecl install imagick它时,它会回退 /var/tmp 权限被拒绝。

有没有办法让我改变默认位置/var/tmp来解决这个问题?还是有其他解决方法或我缺少的东西?谢谢!

php permissions vps pecl pear

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

我们可以在 php.ini 中有 2 个 'extension_dir' 吗?

当我安装 pdo-pgsql 时,扩展已安装到其中/usr/lib/php/extensions/no-debug-non-zts-20090626/,因此不会自动加载。在 中php.ini,我extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626"已经定义了。

片段 php.ini

; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626"
zend_extension = "/usr/local/IonCube/ioncube_loader_lin_5.3.so"
zend_extension = "/usr/local/Zend/lib/Guard-5.5.0/php-5.3.x/ZendGuardLoader.so"
extension = "eaccelerator.so"
extension = "pdo.so"
extension = "pdo_pgsql.so"
extension = "pdo_sqlite.so"
extension = "sqlite.so"
extension = "pdo_mysql.so"
Run Code Online (Sandbox Code Playgroud)

修改工作

; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626"
extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20090626"
zend_extension = "/usr/local/IonCube/ioncube_loader_lin_5.3.so"
zend_extension = "/usr/local/Zend/lib/Guard-5.5.0/php-5.3.x/ZendGuardLoader.so"
extension = "eaccelerator.so"
extension = "pdo.so"
extension = …
Run Code Online (Sandbox Code Playgroud)

php centos php.ini apache-2.2

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

在centos 6.3(最终版)上为php 5.3.17安装xdebug

我真的很难找到如何在 centos 6.3 上为 php 5.3.17 安装 xdebug。

我试过这个链接(诚​​然对于centos 5.6)但没有运气。

任何人都可以指向正确的 RPM 存储库或 yum 命令吗?

非常感谢

php centos yum rpm xdebug

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

Apache 和多个 PHP-FPM 池

我有两个站点,我在 Ubuntu 12.04 上使用 PHP-FPM 5.4 从 apache 2.2 虚拟主机运行。到目前为止,我一直在使用服务器范围的(库存)mod_fastcgi 配置,但现在我想将其拆分为两个 FPM 池,以便我可以为每个池使用不同的 PHP 设置(例如,一个是开发站点,因此启用了错误显示) )。

我已经根据文档设置了两个具有不同名称和套接字位置的 FPM 池,禁用了全局 fastcgi 配置,将其复制到我的 vhost 中,并将其更改为指向每个 vhost 的不同池,如下所示:

<IfModule mod_fastcgi.c>
    <FilesMatch \.php$>
        SetHandler php-script
    </FilesMatch>
    Action php-script /php5.fcgi virtual
    Alias /php5.fcgi /var/fastcgi/php5.fcgi
    FastCGIExternalServer /var/fastcgi/php5.fcgi -socket /var/run/php5-fpm-www.sock
    <Directory "/var/fastcgi">
        Order allow,deny
        <Files "php5.fcgi">
            Order deny,allow
            Deny from all
            Allow from env=REDIRECT_STATUS
        </Files>
    </Directory>
</IfModule>
Run Code Online (Sandbox Code Playgroud)

实际上有 4 个虚拟主机,因为每个主机名都有常规和 SSL 风格,并且每一对都指向一个 FPM 池。

我遇到的问题是 apache 抛出一个错误说:

FastCgiExternalServer: redefinition of previously defined class "/var/fastcgi/php5.fcgi"
Run Code Online (Sandbox Code Playgroud)

这应该怎么做?

php mod-fastcgi php-fpm apache-2.2

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