相关疑难解决方法(0)

为什么 PHP 7.2 fopen(/tmp, a) 不写入文件?

我有一个旧的“PHPDBG”函数,可以让我“printf”到文本文件。

我“从永远”开始使用PHPDBG.inc(至少从 PHP 4.x 时代起),但它似乎无法在我当前的配置(ubuntu18、Apache 2.4.29 和 PHP 7.2)中工作。

具体来说:

  • 我无法打开该文件($fp 为空)...
  • /tmp/PHPDBG.txt 永远不会被创建(因为 fopen 失败)
  • /tmp 应该是世界可写的......并且......
  • 我似乎无法在 Apache error.log 中获取 PHP 错误,也无法从 或 中获取任何有意义的error_get_last()内容$php_errormsg

这是测试代码:

测试.php:

<?php
  function PHPDBG ($s) {
    $fp = fopen ("/tmp/PHPDBG.txt", "a");
    if ($fp) {
      // Successful open ... but nothing written!
      fputs($fp, $s . "\n");
      fclose($fp);
    } else {
      echo "<h3>FILE OPEN ERROR</h3>\n";
      echo "<p>" . print_r(error_get_last()) . "</p>\n";
      echo "<p>" . $php_errormsg . "</p>\n";
    }
  } …
Run Code Online (Sandbox Code Playgroud)

php fopen systemd

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

标签 统计

fopen ×1

php ×1

systemd ×1