What are the PHP requirements for running Composr?
Answer
Composr requires PHP 7.2 or higher, but versions not officially supported by PHP developers are discouraged. The maximum tested version is PHP 8.3.
Required PHP extensions:
GD2 (gd) with PNG and JPEG support
MySQL extension (mysqli or pdo_mysql)
XML extension (xml)
Multibyte String (mbstring)
cURL extension (curl)
JSON support (usually available by default)
Sodium (libsodium)
ZIP extension (zip) if ZIP file support is needed
Additional recommendations:
posix extension for permission checks
zlib extension for faster upgrades, compressed backups, and page compression
ctype extension for slightly faster performance
IMAP extension (imap) for managing newsletter bounces
OpenSSL extension (openssl) for encrypted CPFs, DKIM, and SSL certificate expiry checks
Pspell (pspell) or Enchant (enchant) extensions for spell checking
Ensure the following PHP settings are configured:
File upload size limit of at least 5MB (or higher as needed)
Maximum execution time of at least 30 seconds
Memory limit of at least 128MB
The installer will warn you if any critical functions have been disabled via disable_functions or other PHP modifications. Avoid web hosts that heavily restrict standard PHP functionality.
To uninstall Composr, access the uninstall.php file in your web browser, enter your administrator password, and follow the prompts to remove the database data. Afterward, you can safely delete the Composr installation directory.
What are the recommended web hosting options for Composr?
Answer
Choosing a web host is crucial. Avoid the cheapest options and look for hosts with recent positive reviews and minimal credible complaints. Ensure they meet Composr's requirements, including adequate disk space, no restrictive file size limits, and support for required PHP extensions.
Composr is compatible with various hosting control panels like Plesk and cPanel, and works on Windows, Linux, or Mac OS servers.
Yes, you can install Composr on a Windows desktop using software packages like WampServer, XAMPP, EasyPHP, or ampps for simplified setup. Alternatively, you can manually install Apache, PHP, and MySQL, following the instructions provided in the respective documentation. Remember to configure file permissions appropriately and ensure the webserver isn't accessible from outside your network.
How do I set the correct file permissions for Composr?
Answer
If you're using the quick installer, it will handle file permissions automatically. On a suEXEC-style server, default permissions (744 for directories and 644 for files) are usually sufficient. However, _config.php should have 600 permissions for security.
Without suEXEC, specific directories (e.g., caches, uploads) and files (e.g., _config.php) require 777 (full access) or 666 (read/write) permissions. The fixperms.php script can automate this process on Linux and Windows.
What are the prerequisites for installing Composr?
Answer
Before installing Composr, ensure your web host meets the minimum requirements. Familiarize yourself with your web host's control panel (e.g., Plesk, cPanel), which you'll use to manage databases, subdomains, and other settings. Gather your SFTP/FTP credentials (hostname, username, password), usually emailed upon signup. Set up a MySQL database and note its details: hostname (often 'localhost'), username, password, and database name. Ensure the database user has full read/write/administer access to the database.
What tools are available for debugging Composr code?
Answer
Composr offers a code quality checker addon that helps identify various types of errors, including parser errors, run-time errors, and logical errors. This tool can significantly reduce debugging time and enhance code reliability. It is available through the testing_platform addon.
Composr emphasizes clean, well-structured code with a focus on readability and maintainability. Key standards include proper indentation, consistent use of comments, and clear function headers with type definitions. Remember: beautiful code leads to better functionality and collaboration!
Why are my searches slow, and how can I improve search speed?
Answer
Slow searches can occur when dealing with large amounts of content. Here are some workarounds and solutions:
MySQL timeout setting: For MySQL 5.7+, set a query timeout to prevent searches from locking up your database. Composr automatically sets this, but you can configure it manually if needed.
Use InnoDB tables: Switching to InnoDB tables in MySQL can prevent slow queries from affecting other users on your website. Note that InnoDB is not officially supported by Composr yet.
Enable the fast custom index: As mentioned earlier, the fast custom index is optimized for handling large datasets and filtered searches, potentially leading to significant speed improvements.
How does the search engine handle different languages?
Answer
Composr's fast custom index supports multiple languages. Content is indexed based on its translated version, ensuring that you get relevant results even when searching in a different language.
Quoted phrases allow you to search for an exact sequence of words. For example, searching for "red apple" will only return results containing that exact phrase. Keep in mind that enabling quoted phrases can increase disk space usage.
Stop words are common words (like "the", "a", "is") that are ignored by the search engine because they add noise and don't contribute to the meaning of the search query. You can customize the list of stop words for the fast custom index. See the search tutorial for more information.
What is the fast custom index and why should I use it?
Answer
The fast custom index is Composr's own search engine, designed to be faster and more efficient than MySQL full-text search, especially for large websites and filtered searches.
Benefits of the fast custom index:
Faster filtered searches: Significantly improves search speed when you add filters like category or author.
Configurable stop words: Control which common words are ignored during search.
Better stemming: More accurately recognizes variations of words (e.g., "like" and "liking").
Multilingual support: Indexes content based on different language translations.
Downsides of the fast custom index:
Slight lag in indexing new content: New content takes a short time to be indexed.
Less accurate ranking: Ranking is based on the most obscure keyword, not a blend of all keywords.
Cannot perform blank searches: You must enter at least one keyword.
What is the difference between natural and boolean searching?
Answer
Natural search is a more relaxed approach where you type in your search terms and Composr tries to find the most relevant results, even if they don't contain all the words. It's like a Google search.
Boolean search requires more precision and uses operators like "+", "-", and quotation marks to define exactly what you're looking for. For example, searching for "+car -maintenance" will only return results that contain the word "car" but not "maintenance".
There are a few ways to search your Composr website:
Using the search bar in the header: This is the simplest way to search. Just type your search term in the box and click the search button.
Using the 'Search' module: This module offers more detailed search options. You can access it via the 'site:search' page-link (usually under About > Search in the default menu).
From the Forum: Click the 'Search' button on the forum or use the contextual search box on the forum member bar. This will search within your current forum or topic.
For questions with predefined answers, you can mark correct answers by adding [*] after the answer. If no answer is marked correct, the question will require manual marking. You can also use the [UNMARKED] tag after a question to exclude it from scoring.