PHPプロジェクトがあり、Pythonを使用して本番サーバーにデプロイしています。
展開の計画は次のとおりです。
新しい
php.ini
ファイルを検索します(パスが定義されています)現在のファイルをこのファイルに置き換えます
を介してPHP-FPMプロセスを再起動します
os.system('service php-fastcgi restart')
。ここで、php-fastcgiはプロセスの実際の名前です。
Pythonはスクリプトの実行中にエラーを表示しませんが、PHPはデフォルト構成で再起動します。手動で(Linuxターミナルで)再起動しようとすると、完全に機能し、新しいphp.ini
構成が正常に読み込まれます。私のPythonスクリプトのこの奇妙な振る舞いについて説明していただけますか?
アップデート
これがPythonスクリプトの一部です。
php_ini_path_replace = '/etc/php5/cgi/php.ini'
php_ini_path_source = os.path.join(destination, 'production', 'config', 'main-php.ini')
try: # Read source file
source_conf_file = open(php_ini_path_source, 'r')
php_ini_lines = source_conf_file.readlines()
except IOError:
print('Something is wrong with source file')
try:
actual_conf_file = open(php_ini_path_replace, 'w')
actual_conf_file.writelines( php_ini_lines )
print('PHP CGI configuration was succesfully changed.\nDon\'t forget to restart the PHP')
except IOError:
print('Something is wrong with actual file. May be it\'s in use')
os.system('service php-fastcgi restart')