APC включил только Apache все еще вводные файлы?

И что относительно этого?

public static IEnumerable<Product> GetAllProducts()
{
    using (AdventureWorksEntities db = new AdventureWorksEntities())
    {
        var products = from product in db.Product
                       select product;

        return products.ToList();
    }
}

я предполагаю, что это намного более чисто. У меня нет VS2008 под рукой для проверки, все же. В любом случае, если продукты реализуют IEnumerable (поскольку это кажется - это используется в foreach операторе), я возвратил бы его непосредственно.

5
задан 26 July 2009 в 09:27
поделиться

1 ответ

Уилл, убедитесь, что вы используете полные пути для каждого включения в ваше приложение. Согласно документации APC:

apc.stat integer

Будьте осторожны при изменении этого параметра. По умолчанию это значение включено, что заставляет APC проверять сценарий при каждом запросе, чтобы определить, был ли он изменен. Если он был изменен, он перекомпилирует и кэширует новую версию. Если этот параметр выключен, APC не будет проверять, что обычно означает, что для принудительной повторной проверки файлов APC необходимо перезапустить веб-сервер или очистить кеш вручную. Обратите внимание, что конфигурации веб-сервера FastCGI могут не очищать кеш при перезапуске. На рабочем сервере, где файлы сценариев меняются редко, значительного повышения производительности можно добиться за счет отключения статистики.

Для включаемых / обязательных файлов этот параметр также применяется, но обратите внимание, что относительный путь включает (любой путь, который не начинается с / в Unix) APC должен проверить, чтобы однозначно идентифицировать файл. Если вы используете абсолютный путь, APC может пропустить статистику и использовать этот абсолютный путь в качестве уникального идентификатора файла.

Хорошее практическое правило для PHP - определить константу, содержащую полный путь к вашему проекту, например:

// Assumes __FILE__ is in the root of your project
define('PATH_PROJECT', realpath(dirname(__FILE__)));

затем используйте ваши include следующим образом:

include_once PATH_PROJECT . '/some/dir/file.php';

Таким образом, вы по-прежнему имеете удобство относительных путей, но на самом деле используете полные пути.

7
ответ дан 14 December 2019 в 08:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: