Ruby和PHP的代码覆盖率工具

Ruby:simpleCov
PHP:xdebug
由于我是单独安装的apache2,之前并未考虑与PHP组成LAMP( Linux, Apache, MySQL, PHP),所以遇到一个坑就是:PHP Fatal error: Uncaught Error: Call to undefined function xdebug_start_code_coverage()

比如我有index.php

<?php
    var_dump(xdebug_code_coverage_started());

    xdebug_start_code_coverage();

     var_dump(xdebug_code_coverage_started());
?>
  • 命令行里一切正常:
$ php index.php
Cannot load Xdebug - it was already loaded
Cannot load Xdebug - it was already loaded
/var/www/html/PHPCodeCoverage/PHPCodeCoverage-master/test.php:2:
bool(false)
/var/www/html/PHPCodeCoverage/PHPCodeCoverage-master/test.php:6:
bool(true)

可以看到这个index.php运行正常

  • http访问就会报错
    但是我要是通过apache,http访问index.php,就会出现PHP Fatal error: Uncaught Error: Call to undefined function xdebug_start_code_coverage()
    通过apache日志/var/log/apache2/error.log,


    image.png

怎么解决呢?
我们要注意,有两个php.ini,这里[https://askubuntu.com/questions/356968/find-the-correct-php-ini-file]

image.png

  • /etc/php/7.4/cli/php.ini
  • /etc/php/7.4/apache2/php.ini
    如果没有/etc/php/7.4/apache2/php.ini,我们需要执行
sudo apt install php libapache2-mod-php php-mysql

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04
然后们就会发现/etc/php/7.4/就会多出一个apache2文件夹,然后修改php.ini里的xdebug配置,与/etc/php/7.4/cli/php.ini一致

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    余生动听阅读 11,016评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 4,570评论 1 3
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 130,891评论 2 7

友情链接更多精彩内容