小编mad*_*s24的帖子

如何在syslog上显示php错误

我有一个计划在crontab上运行的脚本.我注意到我无法在任何地方看到php错误.我希望能够在/ var/log/syslog或其他地方看到php错误.我已经尝试配置我的php.ini来记录/var/log/php-errors.log上的错误,检查权限并重新启动apache服务仍然没有日志.

php error-handling syslog

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

正则表达式删除http://和www.来自网址

我有一堆像这样的网址.

  $urls = array(
    'https://site1.com',
    'https://www.site2.com',
    'http://www.site3.com',
    'https://site4.com',
    'site5.com',
    'www.site6.com',
    'www.site7.co.uk',
    'site8.tk'
  );
Run Code Online (Sandbox Code Playgroud)

我想删除http,https,://和www.从这些字符串,以便输出看起来像这些.

  $urls = array(
    'site1.com',
    'site2.com',
    'site3.com',
    'site4.com',
    'site5.com',
    'site6.com',
    'site7.co.uk',
    'site8.tk'
  );
Run Code Online (Sandbox Code Playgroud)

我想出了这个解决方案.

foreach ($urls as $url) {
   $pattern = '/(http[s]?:\/\/)?(www\.)?/i';
   $replace = "";
   echo "before: $url after: ".preg_replace('/\/$/', '', preg_replace($pattern, $replace, $url))."\n";
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何避免第二个preg_replace.有任何想法吗?

php regex string

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

有关php中切换条件的问题

我希望有人知道为什么我得到以下输出,因为我期待别的东西.

$x = NULL;
switch ($x) {
    case "0": 
        echo "String"; 
        break;
    case 0: 
        echo "Integer"; 
        break;
    case NULL: 
        echo "NULL"; 
        break;
    case FALSE: 
        echo "Boolean"; 
        break;
    case "": 
        echo "Empty string"; 
        break;
    default: 
        echo "Something else"; 
        break;
}
// outputs "Integer" was expecting "NULL"

$x=6;
switch ($x) {
    case "6b": 
        echo "6b"; 
        break;
    case "6": 
        echo "6 empty"; 
        break;
    case 6: 
        echo "6 full"; 
        break;
    default: 
        echo "6 half";
        break;
}
// outputs "6b" was expecting "6 empty"
Run Code Online (Sandbox Code Playgroud)

php comparison switch-statement

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