code_junkie

Why is require_once so bad to use?

Nov 11th, 2011
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. if (!defined('MyIncludeName')) {
  2. require('MyIncludeName');
  3. define('MyIncludeName', 1);
  4. }
  5.  
  6. <?php
  7. // /home/fbarnes/phpperf/hdr0.php
  8. require_once "../phpperf/common_hdr.php";
  9.  
  10. ?>
  11.  
  12. for i in /home/fbarnes/phpperf/hdr{00..99}.php; do
  13. echo "<?php
  14. // $i" > $i
  15. cat helper.php >> $i;
  16. done
  17.  
  18. <?php
  19.  
  20. // Load all of the php hdrs that were created previously
  21. for($i=0; $i < 100; $i++)
  22. {
  23. require_once "/home/fbarnes/phpperf/hdr$i.php";
  24. }
  25.  
  26. // Read the /proc file system to get some simple stats
  27. $pid = getmypid();
  28. $fp = fopen("/proc/$pid/stat", "r");
  29. $line = fread($fp, 2048);
  30. $array = split(" ", $line);
  31.  
  32. // write out the statistics; on RedHat 4.5 w/ kernel 2.6.9
  33. // 14 is user jiffies; 15 is system jiffies
  34. $cntr = 0;
  35. foreach($array as $elem)
  36. {
  37. $cntr++;
  38. echo "stat[$cntr]: $elemn";
  39. }
  40. fclose($fp);
  41.  
  42. ?>
  43.  
  44. <?php
  45. // /home/fbarnes/phpperf/h/hdr0.php
  46. if(!defined('CommonHdr'))
  47. {
  48. require "../phpperf/common_hdr.php";
  49. define('CommonHdr', 1);
  50. }
  51.  
  52. ?>
  53.  
  54. time(NULL) = 1223772434
  55. lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
  56. lstat64("/home/fbarnes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
  57. lstat64("/home/fbarnes/phpperf", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
  58. lstat64("/home/fbarnes/phpperf/h", {st_mode=S_IFDIR|0755, st_size=270336, ...}) = 0
  59. lstat64("/home/fbarnes/phpperf/h/hdr0.php", {st_mode=S_IFREG|0644, st_size=88, ...}) = 0
  60. time(NULL) = 1223772434
  61. open("/home/fbarnes/phpperf/h/hdr0.php", O_RDONLY) = 3
  62.  
  63. time(NULL) = 1223772905
  64. lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
  65. lstat64("/home/fbarnes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
  66. lstat64("/home/fbarnes/phpperf", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
  67. lstat64("/home/fbarnes/phpperf/h", {st_mode=S_IFDIR|0755, st_size=270336, ...}) = 0
  68. lstat64("/home/fbarnes/phpperf/h/hdr0.php", {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
  69. time(NULL) = 1223772905
  70. open("/home/fbarnes/phpperf/h/hdr0.php", O_RDONLY) = 3
  71.  
  72. [fbarnes@myhost phpperf]$ wc -l strace_1000r.out strace_1000ro.out
  73. 190709 strace_1000r.out
  74. 210707 strace_1000ro.out
  75. 401416 total
  76.  
  77. [fbarnes@myhost phpperf]$ grep -c time strace_1000r.out strace_1000ro.out
  78. strace_1000r.out:20009
  79. strace_1000ro.out:30008
  80.  
  81. [fbarnes@myhost phpperf]$ grep -c getcwd strace_1000r.out strace_1000ro.out
  82. strace_1000r.out:5
  83. strace_1000ro.out:10004
  84.  
  85. [fbarnes@myhost phpperf]$ wc -l strace_1000r.out strace_1000ro.out
  86. 190705 strace_1000r.out
  87. 200705 strace_1000ro.out
  88. 391410 total
  89. [fbarnes@myhost phpperf]$ grep -c time strace_1000r.out strace_1000ro.out
  90. strace_1000r.out:20008
  91. strace_1000ro.out:30008
Add Comment
Please, Sign In to add comment