Heterogeneity interpreter integration: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
mNo edit summary
mNo edit summary
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
Considerations of multi-languages Interpreter integration
Considerations of multi-languages Interpreter integration e.g. PHP calling Python


== PHP calling Python ==
Input / Output
Input / Output
* ill-formed input and output
* ill-formed input and output
Process
* Print the percentage of data processing


Unexpected conditions / errors
Unexpected conditions / errors
* Entry point
* Entry point
** Browser timeout/crash
** Run the script from web browser: timeout<ref>[https://stackoverflow.com/questions/5798707/browser-timeouts Browser Timeouts - Stack Overflow]</ref>/crash
** Run the script from command line: length limit e.g.
*** On {{Win}} XP<ref>[https://support.microsoft.com/en-us/help/830473/command-prompt-cmd--exe-command-line-string-limitation Command prompt (Cmd. exe) command-line string limitation] when error message 'The command line is too long.' met on windows.</ref>: 8191 characters
*** On {{Mac}} high Sierra<ref>[https://serverfault.com/questions/69430/what-is-the-maximum-length-of-a-command-line-in-mac-os-x mac osx - What is the maximum length of a command line in Mac OS X? - Server Fault]</ref>: 262144 returned after keyin {{kbd | key=getconf ARG_MAX}}
 
* Interpreter level
* Interpreter level
** First interpreter timeout/crash: e.g. First interpreter (.PHP) is timeout but second interpreter (.PY) is still running.
** First interpreter timeout/crash: e.g. First interpreter (.PHP) is timeout but second interpreter (.PY) is still running.
** Second interpreter timeout/crash
** Second interpreter timeout/crash
** Process management: Monitor and recycle the process
* System level
* System level
** e.g. memory error caused by second interpreter
** e.g. memory error caused by second interpreter
* API level
== PHP calling MySQL ==
Purpose
* PHP to generate mysqldump command for database backup and export operations with Chinese character support
Input / Output
* Character encoding mismatch between PHP UTF-8 and MySQL client character sets
* Hexadecimal representation<ref>[https://dev.mysql.com/doc/refman/8.4/en/hexadecimal-literals.html MySQL :: MySQL 8.4 Reference Manual :: 11.1.4 Hexadecimal Literals]</ref> required for Chinese characters: '範例中文字' → 0xE7AF84E4BE8BE4B8ADE69687E5AD97
* Export validation discrepancy: Expected xxx SQL queries
Process
* Character set validation before MySQL command execution
* Environment synchronization: PHP, Windows CMD, and MySQL client charset alignment
* Hexadecimal conversion for non-ASCII parameter bypass
<pre>
function toHexadecimal($text) {
if (!mb_check_encoding($text, 'UTF-8')) {
$text = mb_convert_encoding($text, 'UTF-8', 'auto');
}
return '0x' . strtoupper(bin2hex($text));
}
</pre>
== References ==
<references />


References
== Related articles ==
* [https://stackoverflow.com/questions/34957283/how-to-properly-call-python-3-script-from-php How to properly call Python 3 script from PHP? - Stack Overflow]
* [https://stackoverflow.com/questions/34957283/how-to-properly-call-python-3-script-from-php How to properly call Python 3 script from PHP? - Stack Overflow]
* [https://stackoverflow.com/questions/4977125/passing-value-from-php-script-to-python-script Passing value from PHP script to Python script - Stack Overflow]
* [https://www.r-bloggers.com/integrating-php-and-r/ Integrating PHP and R | R-bloggers] {{access | date = 2017-12-18}}
* [https://www.r-bloggers.com/integrating-php-and-r/ Integrating PHP and R | R-bloggers] {{access | date = 2017-12-18}}
* [http://php.net/manual/en/function.set-time-limit.php PHP: set_time_limit - Manual]
* [http://php.net/manual/en/function.set-time-limit.php PHP: set_time_limit - Manual]
* [https://stackoverflow.com/questions/27863484/run-python-script-from-php-save-process-pid-and-dont-wait-it-to-finish Run Python script from php, save process pid, and don't wait it to finish - Stack Overflow] ''un-verified''
* [https://stackoverflow.com/questions/1881582/whats-the-difference-between-escapeshellarg-and-escapeshellcmd php - What's the difference between escapeshellarg and escapeshellcmd? - Stack Overflow]
* [[Execute php script in a bat file]]
* [https://errerrors.blogspot.com/2018/08/run-java-jar-from-php.html 如果透過 PHP 網站呼叫 Java JAR 執行結果]


[[Category:Programming]] [[Category:PHP]] [[Category:Python]]
[[Category: Programming]]  
[[Category: PHP]]  
[[Category: Python]]
[[Category: MySQL]]
[[Category: Revised with LLMs]]

Navigation menu