XCache is a fast, stable PHP opcode cacher that has been proven and is now running on production servers under high load.
https://xcache.lighttpd.net/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
1.6 KiB
102 lines
1.6 KiB
#!/bin/bash |
|
# this script is for developers only |
|
|
|
. run.cfg |
|
|
|
basename=$(basename $(pwd)) |
|
if echo $basename | grep -- - >/dev/null; then :; else |
|
dirs=${dirs:-php5-debug} |
|
for dir in $dirs; do |
|
cd ../${basename}-${dir} || exit |
|
pwd |
|
$0 "$@" |
|
done |
|
exit |
|
fi |
|
|
|
if [[ ! -z $1 ]]; then |
|
type=$1 |
|
shift |
|
|
|
if [[ ! -z $1 ]]; then |
|
args=("$@") |
|
elif [[ -z $args ]]; then |
|
args=(test.php) |
|
fi |
|
fi |
|
|
|
if [[ $type = make ]]; then |
|
MAKEARGS=("$@") |
|
fi |
|
|
|
LANG=C /usr/bin/make $MAKEOPTS "${MAKEARGS[@]}" 2>&1 | hi error warn FAIL |
|
ret=${PIPESTATUS[0]} |
|
if [[ $ret -ne 0 || $type = make ]]; then |
|
exit $ret |
|
fi |
|
|
|
cmd=() |
|
tracer=() |
|
case "$basename" in |
|
*-apache1*) |
|
cmd=($HOME/apache1/bin/httpd -X) |
|
;; |
|
*-apache*) |
|
exit 1 |
|
;; |
|
*) |
|
cmd=(./php-cgi -q -c php.ini) |
|
"${cmd[@]}" -v |
|
;; |
|
esac |
|
|
|
case "${args[0]}" in |
|
fcgi) |
|
args=(-b 1026) |
|
shift |
|
;; |
|
esac |
|
|
|
case "$type" in |
|
ltr*) |
|
export USE_ZEND_ALLOC=0 |
|
tracer=(ltrace -s1024 -e malloc,realloc,free,write) |
|
;; |
|
str*) |
|
tracer=(strace -s1024 -T ./php-cgi) |
|
;; |
|
gdb) |
|
#USE_ZEND_ALLOC=0 |
|
tracer=(gdb --args) |
|
;; |
|
val*) |
|
export USE_ZEND_ALLOC=0 |
|
tracer=(valgrind --gen-suppressions=all) |
|
;; |
|
dc) |
|
exec ./php-cli -c php.ini ./phpdc.phpr "${args[@]}" | tee decompiled.php |
|
;; |
|
dop) |
|
exec ./php-cgi -q -c php.ini ./phpdop.phpr "${args[@]}" |
|
;; |
|
retest) |
|
exec make xcachetest "$@" TESTS="`grep '^/.*\.phpt$' php_test_results_*.txt | uniq | xargs`" |
|
;; |
|
test) |
|
case "${args[0]}" in |
|
*.phpt) |
|
exec make xcachetest TEST_ARGS=-v TESTS="${args[*]}" |
|
;; |
|
*/) |
|
exec make xcachetest TESTS="${args[@]}" |
|
;; |
|
*) |
|
exec make xcachetest |
|
;; |
|
esac |
|
;; |
|
esac |
|
|
|
export XCACHE_SKIP_FCGI_WARNING=1 |
|
echo "${tracer[@]}" "${cmd[@]}" "${args[@]}" |
|
exec "${tracer[@]}" "${cmd[@]}" "${args[@]}"
|
|
|