PHP利用時の注意事項

プログラムの実行時間

プログラムを実行できる時間は1リクエスト当たり最大30秒という制限を設けております。30秒を超えた場合は処理途中であったとしても実行をキャンセルし、エラー画面を表示しますのでご注意下さい。

使用できない関数とクラス

スパイラル上で動作しているPHP(バージョン:5.3.20)を利用するにあたって、PHPに組み込まれていない機能やファイルシステムに影響を与える可能性のある関数・クラスなどは使用できないようになっています。

PHPが思うように動作しない場合などには、以下に示している関数やクラスを使用していないかを確認するようにして下さい。

スパイラルで使用できないPHP関数

  1. chdir
  2. chgrp
  3. chmod
  4. chown
  5. clearstatcache
  6. closedir
  7. closelog
  8. copy
  9. define_syslog_variables
  10. dir
  11. dirname
  12. diskfreespace
  13. disk_free_space
  14. disk_total_space
  15. dl
  16. error_log
  17. error_reporting
  18. exec
  19. fclose
  20. feof
  21. fflush
  22. fgetc
  23. fgetcsv
  24. fgets
  25. fgetss
  26. file
  27. fileatime
  28. filectime
  29. file_exists
  30. file_get_contents
  31. filegroup
  32. fileinode
  33. filemtime
  34. fileowner
  35. fileperms
  36. file_put_contents
  37. filesize
  38. filetype
  39. finfo_buffer
  40. finfo_close
  41. finfo_file
  42. finfo_open
  43. finfo_set_flags
  44. flock
  45. flush
  46. fopen
  47. fpassthru
  48. fprintf
  49. fputcsv
  50. fputs
  51. fread
  52. fscanf
  53. fseek
  54. fsockopen
  55. fstat
  56. ftell
  57. ftruncate
  58. fwrite
  59. gc_collect_cycles
  60. gc_disable
  61. gc_enable
  62. gc_enabled
  63. get_cfg_var
  64. get_current_user
  65. getcwd
  66. get_defined_constants
  67. get_defined_vars
  68. get_included_files
  69. get_include_path
  70. get_meta_tags
  71. getmygid
  72. getmyinode
  73. getmypid
  74. getmyuid
  75. get_required_files
  76. get_resource_type
  77. getrusage
  78. glob
  79. hash_file
  80. highlight_file
  81. http_send_file
  82. ignore_user_abort
  83. ini_alter
  84. ini_get
  85. ini_get_all
  86. ini_restore
  87. ini_set
  88. is_file
  89. is_readable
  90. is_uploaded_file
  91. is_writable
  92. is_writeable
  93. lchgrp
  94. lchown
  95. link
  96. linkinfo
  97. lstat
  98. mail
  99. mb_send_mail
  100. md5_file
  101. memory_get_peak_usage
  102. memory_get_usage
  103. mime_content_type
  104. mkdir
  105. move_uploaded_file
  106. opendir
  107. openlog
  108. openssl_csr_export_to_file
  109. openssl_csr_get_public_key
  110. openssl_csr_get_subject
  111. openssl_csr_sign
  112. openssl_get_privatekey
  113. openssl_get_publickey
  114. openssl_open
  115. openssl_pkcs12_export
  116. openssl_pkcs12_export_to_file
  117. openssl_pkcs7_decrypt
  118. openssl_pkcs7_encrypt
  119. openssl_pkcs7_sign
  120. openssl_pkcs7_verify
  121. openssl_pkey_export
  122. openssl_pkey_export_to_file
  123. openssl_pkey_get_private
  124. openssl_pkey_get_public
  125. openssl_private_decrypt
  126. openssl_private_encrypt
  127. openssl_public_decrypt
  128. openssl_public_encrypt
  129. openssl_seal
  130. openssl_sign
  131. openssl_verify
  132. openssl_x509_check_private_key
  133. openssl_x509_checkpurpose
  134. openssl_x509_export
  135. openssl_x509_export_to_file
  136. openssl_x509_parse
  137. openssl_x509_read
  138. parse_ini_file
  139. passthru
  140. pathinfo
  141. pclose
  142. pfsockopen
  143. phpcredits
  144. phpinfo
  145. php_ini_loaded_file
  146. php_ini_scanned_files
  147. php_strip_whitespace
  148. php_uname
  149. popen
  150. posix_access
  151. posix_ctermid
  152. posix_errno
  153. posix_getcwd
  154. posix_getegid
  155. posix_geteuid
  156. posix_getgid
  157. posix_getgrgid
  158. posix_getgrnam
  159. posix_getgroups
  160. posix_get_last_error
  161. posix_getlogin
  162. posix_getpgid
  163. posix_getpgrp
  164. posix_getpid
  165. posix_getppid
  166. posix_getpwnam
  167. posix_getpwuid
  168. posix_getrlimit
  169. posix_getsid
  170. posix_getuid
  171. posix_initgroups
  172. posix_isatty
  173. posix_kill
  174. posix_mkfifo
  175. posix_mknod
  176. posix_setegid
  177. posix_seteuid
  178. posix_setgid
  179. posix_setpgid
  180. posix_setsid
  181. posix_setuid
  182. posix_strerror
  183. posix_times
  184. posix_ttyname
  185. posix_uname
  186. proc_close
  187. proc_get_status
  188. proc_nice
  189. proc_open
  190. proc_terminate
  191. property_exists
  192. putenv
  193. readdir
  194. readfile
  195. readlink
  196. realpath
  197. realpath_cache_get
  198. realpath_cache_size
  199. register_shutdown_function
  200. register_tick_function
  201. rename
  202. restore_error_handler
  203. restore_exception_handler
  204. restore_include_path
  205. rewind
  206. rewinddir
  207. rmdir
  208. scandir
  209. session_module_name
  210. session_name
  211. session_save_path
  212. session_set_save_handler
  213. set_error_handler
  214. set_exception_handler
  215. set_file_buffer
  216. set_include_path
  217. set_time_limit
  218. sha1_file
  219. shell_exec
  220. shm_attach
  221. shm_detach
  222. shm_get_var
  223. shm_has_var
  224. shm_put_var
  225. shm_remove
  226. shm_remove_var
  227. show_source
  228. shuffle
  229. simplexml_load_file
  230. socket_accept
  231. spl_autoload
  232. spl_autoload_call
  233. spl_autoload_extensions
  234. spl_autoload_functions
  235. spl_autoload_register
  236. spl_autoload_unregister
  237. spl_classes
  238. spl_object_hash
  239. sql_regcase
  240. stat
  241. stream_socket_accept
  242. symlink
  243. sys_getloadavg
  244. sys_get_temp_dir
  245. syslog
  246. system
  247. tempnam
  248. tmpfile
  249. touch
  250. umask
  251. unlink
  252. virtual
  253. その他、未インストール関数

スパイラルで使用できないPHPクラス

  1. Directory
  2. DirectoryIterator
  3. DOMDocument
  4. FilesystemIterator
  5. FilterIterator
  6. finfo
  7. GlobIterator
  8. HTTPResponse
  9. PDO
  10. PDOStatement
  11. Phar
  12. PharData
  13. PharFileInfo
  14. RecursiveDirectoryIterator
  15. RecursiveFilterIterator
  16. Redis
  17. Reflection
  18. ReflectionAbstract
  19. ReflectionClass
  20. ReflectionExtension
  21. ReflectionFunction
  22. ReflectionMethod
  23. ReflectionObject
  24. ReflectionParameter
  25. ReflectionProperty
  26. ReflectionZendExtension
  27. SimpleXMLElement
  28. SplFileInfo
  29. SplFileObject
  30. SplTempFileObject
  31. SQLite3
  32. SQLite3Result
  33. SQLite3Stmt
  34. XMLReader
  35. XMLWriter
  36. その他、未インストールクラス

外部サービス連携時のエラー

外部システムと連携して動作するプログラムをPHPで組んでいる場合に、外部システムのメンテナンスやサービスダウンにより連携できずにエラーが発生する場合があります。連携できなかった場合を考慮したプログラムを作成していただく必要があります。あらかじめご了承ください。

PHPと文字コード

内部的には以下に示すような文字コード変換が行われています。

PHPと文字コード

※1 : ただし、「deltect=判定」がパラメータに含まれている場合は、文字コードが自動判定されます。