compile-php.sh 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/bin/sh
  2. VER_PHP="$1"
  3. function php_compile_args() {
  4. _php_arg="--prefix=/app/php-dist"
  5. _php_arg="$_php_arg --disable-all"
  6. _php_arg="$_php_arg --enable-shared=no"
  7. _php_arg="$_php_arg --enable-static=yes"
  8. _php_arg="$_php_arg --enable-inline-optimization"
  9. _php_arg="$_php_arg --with-layout=GNU"
  10. _php_arg="$_php_arg --enable-calendar"
  11. _php_arg="$_php_arg --enable-ctype"
  12. _php_arg="$_php_arg --enable-filter"
  13. _php_arg="$_php_arg --enable-openssl"
  14. _php_arg="$_php_arg --enable-bcmath"
  15. _php_arg="$_php_arg --enable-pcntl"
  16. _php_arg="$_php_arg --enable-openssl"
  17. _php_arg="$_php_arg --with-openssl"
  18. _php_arg="$_php_arg --with-iconv"
  19. _php_arg="$_php_arg --enable-mbstring"
  20. _php_arg="$_php_arg --enable-phar"
  21. _php_arg="$_php_arg --enable-pdo"
  22. _php_arg="$_php_arg --with-pdo-mysql=mysqlnd"
  23. _php_arg="$_php_arg --enable-sockets"
  24. _php_arg="$_php_arg --enable-swoole"
  25. _php_arg="$_php_arg --enable-inotify"
  26. _php_arg="$_php_arg --enable-redis"
  27. _php_arg="$_php_arg --disable-redis-session"
  28. _php_arg="$_php_arg --enable-simplexml"
  29. _php_arg="$_php_arg --enable-dom"
  30. _php_arg="$_php_arg --enable-xml"
  31. _php_arg="$_php_arg --enable-xmlwriter"
  32. _php_arg="$_php_arg --enable-xmlreader"
  33. _php_arg="$_php_arg --with-zlib"
  34. _php_arg="$_php_arg --enable-posix"
  35. _php_arg="$_php_arg --enable-mysqlnd"
  36. _php_arg="$_php_arg --enable-tokenizer"
  37. _php_arg="$_php_arg --with-curl"
  38. _php_arg="$_php_arg --with-pear=no"
  39. _php_arg="$_php_arg --disable-cgi"
  40. _php_arg="$_php_arg --disable-phpdbg"
  41. for loop in $(cat extension.txt)
  42. do
  43. case $loop in
  44. swoole)
  45. esac
  46. done
  47. case $1 in
  48. 7.3.*|7.2.*)
  49. _php_arg="$_php_arg --with-gd"
  50. _php_arg="$_php_arg --enable-libxml"
  51. _php_arg="$_php_arg --enable-hash"
  52. _php_arg="$_php_arg --enable-json"
  53. ;;
  54. 7.4.*)
  55. _php_arg="$_php_arg --enable-gd"
  56. _php_arg="$_php_arg --with-libxml"
  57. _php_arg="$_php_arg --enable-json"
  58. ;;
  59. 8.*)
  60. _php_arg="$_php_arg --enable-gd"
  61. _php_arg="$_php_arg --with-libxml"
  62. ;;
  63. esac
  64. echo $_php_arg
  65. }
  66. function before_configure() {
  67. for loop in $(cat extension.txt)
  68. do
  69. case $loop in
  70. swoole)
  71. esac
  72. done
  73. }
  74. cd php-$VER_PHP && \
  75. before_configure && \
  76. ./buildconf --force && \
  77. ./configure LDFLAGS=-static $(php_compile_args $VER_PHP) && \
  78. after_configure && \
  79. sed -ie 's/-export-dynamic//g' "Makefile" && \
  80. sed -ie 's/-o $(SAPI_CLI_PATH)/-all-static -o $(SAPI_CLI_PATH)/g' "Makefile" && \
  81. if [ "$(cat extension.txt | grep swoole)" != "" ]; then sed -ie 's/swoole_clock_gettime(CLOCK_REALTIME/clock_gettime(CLOCK_REALTIME/g' "ext/swoole/include/swoole.h" && \