0

わかりました、私はクライアントのためにいくつかの仕事をしようとしています。現在、別の開発者が作成した、すべての連絡先の CSV をエクスポートするカスタム関数の厄介な修正を試みているところです。

連絡先を追加すると、関数の実行に時間がかかり、より多くのメモリが必要になります (メモリ制限を 128M から 256M に、さらに現在は 512M に引き上げる必要がありました)。

とにかく、CSV エクスポーターを実行しようとしていますが、さまざまな実行で次のエラーが発生します。

Fatal error: Maximum execution time of 30 seconds exceeded in /home/readyby2/public_html/includes/module.inc on line 19

Fatal error: Maximum execution time of 30 seconds exceeded in /home/readyby2/public_html/sites/all/modules/contrib/views/modules/field/views_handler_field_field.inc on line 0

そして時々、内部サーバーエラー500が発生します

この関数は以前に機能していたことに注意してください-そして私はそれが機能するのを見てきました。

これは、php.ini で最大実行時間の設定を変更する必要があることを意味します。

フォルダーの外に php.ini ファイルがあり/public_html(Drupal インストール用のファイルが保存されている場所)、その設定を変更しましたが、上記のエラーがすべて表示されます。それぞれ 60、90、0 に変更しましたが、変更はありません。

Drupal インストールのタイムアウト設定が設定されている場所は他にありますか? 適切な php.ini ファイルを見つけていますか? ディレクトリに1 つ/public_htmlも他のものもありません。

この問題を解決するにはどうすればよいですか? すでにメモリ制限を引き上げています (サーバー エラーは、この機能を実行するのに十分なメモリがサーバーにないことを示している可能性がありますか?)

どんなアドバイスや助けも役に立ちます。

参考までに、これは Drupal 7 にあります。PHP のバージョンは 5.x です (正確なバージョンは覚えていませんが、5.1 だと思います。必要に応じて調べてください)。

4

4 に答える 4

3

正しい php.ini の場所は、ホスティング環境に大きく依存しますが、スクリプトのini_setまたはset_time_limit関数を使用することで、すぐに回避できます。

settings.php で ini セットを実行できますが、サイト全体でグローバルになります。

ini_set('max_execution_time', 120);settings.php へ

または、スクリプトでset_time_limit ( 120 )PHP セーフモードがオンの場合、これは機能しません。

于 2012-12-03T16:02:19.007 に答える
2

通常、php.ini ファイルは/etc/php5/apache/php.ini似たような場所にあります。たぶん/etc/php.ini、もっと単純なセットアップで。

ソフトウェア管理システムを参照することをお勧めします:$> rpm -ql php5または、debian ベースのシステムを使用している場合は、適切な代替手段を参照してください。これにより、パッケージに含まれるファイルが一覧表示されます。php.ini ファイルはそれらの中にあるはずです。ディストリビューションによっては、パッケージapache-mod_php5などを確認する必要がある場合もあります。$> rpm -q --whatprovides /usr/bin/php5またはなどを使用して、パッケージ管理内で php を検索します$> rpm -qa | grep -i php

phpinfo()drupal 環境内で呼び出します。出力で、phpphp.iniは解析されたファイルを指定します。

于 2012-12-03T15:57:56.090 に答える
1

あなたはいつでも試すことができます(サイトのsettings.php(sites/default/settings.php)で、それを書く権利があるかどうかを確認してください.

ini_set('memory_limit', '256M');

php.ini を上書きします。しかし、メモリを増やすことで修正できるとは思いません(メモリの問題が発生するたびに制限を増やすことはできません)。このリーチ制限を生成するものを見つけなければなりません (無限ブークル、結果が多すぎる...) ビューモジュールと csv エクスポートをいつでも使用して、優れたビューで優れた csv を作成できます:D csv のページャーを上書きすることを考えてください。

于 2012-12-03T16:39:37.117 に答える
1

別のオプションは、以下を drupal の に追加すること.htaccessです。

php_value max_execution_time 0
于 2012-12-03T16:02:59.013 に答える