php.sh 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. #!/bin/sh
  2. #move to script directory so all relative paths work
  3. cd "$(dirname "$0")"
  4. #includes
  5. . ./config.sh
  6. . ./colors.sh
  7. . ./environment.sh
  8. #send a message
  9. verbose "Configuring PHP"
  10. #add the repository
  11. if [ ."$os_name" = ."Ubuntu" ]; then
  12. #24.04.x - /*noble/
  13. if [ ."$os_codename" = ."noble" ]; then
  14. echo "Ubuntu 24.04 LTS\n"
  15. which add-apt-repository || apt-get install -y software-properties-common
  16. LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
  17. fi
  18. #22.04.x - /*jammy/
  19. if [ ."$os_codename" = ."jammy" ]; then
  20. echo "Ubuntu 22.04 LTS\n"
  21. which add-apt-repository || apt-get install -y software-properties-common
  22. LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
  23. fi
  24. #20.04.x - /*bionic/
  25. if [ ."$os_codename" = ."focal" ]; then
  26. echo "Ubuntu 20.04 LTS\n"
  27. which add-apt-repository || apt-get install -y software-properties-common
  28. LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
  29. fi
  30. #18.04.x - /*bionic/
  31. if [ ."$os_codename" = ."bionic" ]; then
  32. echo "Ubuntu 18.04 LTS\n"
  33. php_version=7.2
  34. fi
  35. #16.10.x - */yakkety/
  36. #16.04.x - */xenial/
  37. #14.04.x - */trusty/
  38. if [ ."$os_codename" = ."trusty" ]; then
  39. which add-apt-repository || apt-get install -y software-properties-common
  40. LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
  41. fi
  42. elif [ ."$cpu_architecture" = ."arm" ]; then
  43. echo "arm"
  44. fi
  45. apt-get update -y
  46. #install dependencies
  47. apt-get install -y nginx
  48. if [ ."$php_version" = ."5.6" ]; then
  49. apt-get install -y php5 php5-cli php5-fpm php5-pgsql php5-sqlite php5-odbc php5-curl php5-imap php5-gd
  50. fi
  51. if [ ."$php_version" = ."7.0" ]; then
  52. apt-get install -y php7.0 php7.0-cli php7.0-fpm php7.0-pgsql php7.0-sqlite3 php7.0-odbc php7.0-curl php7.0-imap php7.0-xml php7.0-gd php7.0-mbstring
  53. fi
  54. if [ ."$php_version" = ."7.1" ]; then
  55. apt-get install -y php7.1 php7.1-cli php7.1-fpm php7.1-pgsql php7.1-sqlite3 php7.1-odbc php7.1-curl php7.1-imap php7.1-xml php7.1-gd php7.1-mbstring
  56. fi
  57. if [ ."$php_version" = ."7.2" ]; then
  58. apt-get install -y php7.2 php7.2-cli php7.2-fpm php7.2-pgsql php7.2-sqlite3 php7.2-odbc php7.2-curl php7.2-imap php7.2-xml php7.2-gd php7.2-mbstring
  59. fi
  60. if [ ."$php_version" = ."7.4" ]; then
  61. apt-get install -y php7.4 php7.4-cli php7.4-fpm php7.4-pgsql php7.4-sqlite3 php7.4-odbc php7.4-curl php7.4-imap php7.4-xml php7.4-gd php7.4-mbstring
  62. fi
  63. if [ ."$php_version" = ."8.1" ]; then
  64. apt-get install -y php8.1 php8.1-cli php8.1-fpm php8.1-pgsql php8.1-sqlite3 php8.1-odbc php8.1-curl php8.1-imap php8.1-xml php8.1-gd php8.1-mbstring
  65. fi
  66. if [ ."$php_version" = ."8.2" ]; then
  67. apt-get install -y php8.2 php8.2-cli php8.2-fpm php8.2-pgsql php8.2-sqlite3 php8.2-odbc php8.2-curl php8.2-imap php8.2-xml php8.2-gd php8.2-mbstring
  68. fi
  69. if [ ."$php_version" = ."8.3" ]; then
  70. apt-get install -y php8.3 php8.3-cli php8.3-fpm php8.3-pgsql php8.3-sqlite3 php8.3-odbc php8.3-curl php8.3-imap php8.3-xml php8.3-gd php8.3-mbstring
  71. fi
  72. #update config if source is being used
  73. if [ ."$php_version" = ."5" ]; then
  74. verbose "version 5.x"
  75. php_ini_file='/etc/php5/fpm/php.ini'
  76. fi
  77. if [ ."$php_version" = ."7.0" ]; then
  78. verbose "version 7.0"
  79. php_ini_file='/etc/php/7.0/fpm/php.ini'
  80. fi
  81. if [ ."$php_version" = ."7.1" ]; then
  82. verbose "version 7.1"
  83. php_ini_file='/etc/php/7.1/fpm/php.ini'
  84. fi
  85. if [ ."$php_version" = ."7.2" ]; then
  86. verbose "version 7.2"
  87. php_ini_file='/etc/php/7.2/fpm/php.ini'
  88. fi
  89. if [ ."$php_version" = ."7.4" ]; then
  90. verbose "version 7.4"
  91. php_ini_file='/etc/php/7.4/fpm/php.ini'
  92. fi
  93. if [ ."$php_version" = ."8.1" ]; then
  94. verbose "version 8.1"
  95. php_ini_file='/etc/php/8.1/fpm/php.ini'
  96. fi
  97. if [ ."$php_version" = ."8.2" ]; then
  98. verbose "version 8.2"
  99. php_ini_file='/etc/php/8.2/fpm/php.ini'
  100. fi
  101. if [ ."$php_version" = ."8.3" ]; then
  102. verbose "version 8.3"
  103. php_ini_file='/etc/php/8.3/fpm/php.ini'
  104. fi
  105. sed 's#post_max_size = .*#post_max_size = 80M#g' -i $php_ini_file
  106. sed 's#upload_max_filesize = .*#upload_max_filesize = 80M#g' -i $php_ini_file
  107. sed 's#;max_input_vars = .*#max_input_vars = 8000#g' -i $php_ini_file
  108. sed 's#; max_input_vars = .*#max_input_vars = 8000#g' -i $php_ini_file
  109. #install ioncube
  110. if [ .$cpu_architecture = .'x86' ]; then
  111. . ./ioncube.sh
  112. fi
  113. #restart php-fpm
  114. systemctl daemon-reload
  115. if [ ."$php_version" = ."5.6" ]; then
  116. systemctl restart php5-fpm
  117. fi
  118. if [ ."$php_version" = ."7.0" ]; then
  119. systemctl restart php7.0-fpm
  120. fi
  121. if [ ."$php_version" = ."7.1" ]; then
  122. systemctl restart php7.1-fpm
  123. fi
  124. if [ ."$php_version" = ."7.2" ]; then
  125. systemctl restart php7.2-fpm
  126. fi
  127. if [ ."$php_version" = ."7.4" ]; then
  128. systemctl restart php7.4-fpm
  129. fi
  130. if [ ."$php_version" = ."8.1" ]; then
  131. systemctl restart php8.1-fpm
  132. fi
  133. if [ ."$php_version" = ."8.2" ]; then
  134. systemctl restart php8.2-fpm
  135. fi
  136. if [ ."$php_version" = ."8.3" ]; then
  137. systemctl restart php8.3-fpm
  138. fi
  139. #init.d
  140. #/usr/sbin/service php5-fpm restart
  141. #/usr/sbin/service php7.0-fpm restart