Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Console commands

Every ./console command with its help text, options and aliases.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/examples/commands/README.md

Console commands

Every command of ./console (bin/php/console): each bin/php/<name>.php is exp:<name>, a script may add aliases with @alias. The help text and the options are read from the code, so they match --help. ./console list shows them on a machine; ./console help <command> prints one command's help.

CommandAliasesWhat it does
exp:accesscheckexp:access:checkCheck what a user may do with a node or object (content/read, edit, ...) and which limitation refuses it
exp:addanonymouspublicpoliciesGive the Anonymous role the public policies it lacks: user/register, rss/feed, tags/view, the newsletter's public views (dry run unless --apply)
exp:adddefaultstatesGive every content object the default state of each state group it has no state of (dry run unless --apply)
exp:addeditorpoliciesGive the Editor role the everyday policies it lacks: content/hide, content/restore, content/reverserelatedlist, ezmultiupload, the image editor, the own account, the UI switch, the class sets of editorpolicies.ini, no duplicates (dry run unless --apply)
exp:addexphelpreadpolicyexp:help-grantGrant exphelp/read (the help system) to the Editor role or the roles named (dry run unless --apply)
exp:addmembermanagementSet up member management from membermanagement.ini: the role that lets a group (default Editors) manage the accounts of another (default Members), never Administrator users or Editors (dry run unless --apply)
exp:addoauthauthorizepolicyGrant oauth/authorize to the roles that let users sign in (6.0.15 upgrade; dry run unless --apply)
exp:adduserapprovalSet up the approval of new accounts in a user group (default: new Editors wait for the Administrator users): the workflow event on content/publish before and the role that lets the requesters create such accounts; --mode=section sets up the optional alternative, a section Staff with the plain approval event (both a dry run unless --apply)
exp:auditAudit log: tail, show one event, verify the hash chains, list the channels
exp:benchmarkexp:benchMeasure this installation: page timings over HTTP, A/B between servers, kernel probes, regression check
exp:cacheClear and inspect caches by tag, id or all: content, static, HTTP, Velocity, OPcache, APCu
exp:changelog2xmltextConvert a Changelog file to XML text format and print it to standard output
exp:checkclassesLoad every declared class and report the ones PHP refuses to load
exp:checkcodestyle
exp:checkdbfilesVerify the database update files against the upgrade path; reports missing or stray files
exp:checkmanifest
exp:cleanuppoliciesRemove policies of modules that no longer exist (dry run unless --apply)
exp:cleanuprssTrim RSS-imported content, keeping the newest items of each active import (dry run unless --apply)
exp:cleanupversionsRemove archived content versions beyond the VersionManagement limits (dry run unless --apply; -n: do not wait)
exp:clusterizeMove var files into the database cluster storage (-u moves them back)
exp:clusterpurgePhysically purge the cluster files of the given scopes (--scopes=scope1,scope2; dry run unless --apply)
exp:collaborationsampledataexp:collaboration:sample-dataBuild sample content for the collaboration tool (approvals, comments, groups), or remove it again (dry run unless --apply)
exp:configphpexp:config:list, exp:config:get, exp:config:set, exp:config:unsetList, read, set and unset the define() settings of config.php, typed and checked with php -l, documented by config.php-RECOMMENDED (set and unset: dry run unless --apply)
exp:contentcheckexp:content-checkContent checks: build the reference index, list the unused assets and the broken relations below a node, list the missing files, scan the storage files (report only; --fix, --quarantine and --fix-permissions are a dry run unless --apply)
exp:convertezenumtoezselection
exp:convertprice2multipriceConvert content objects with 'price' datatype attributes to 'multiprice'
exp:dfscleanupCheck database and DFS files against each other (-S, -B) and delete nonexistent ones (-D)
exp:expbackfillordersiteaccessInfer the siteaccess of orders placed before ezorder.siteaccess was recorded (dry run unless --apply)
exp:expcontentjobRun, list, resume and cancel content jobs: large subtree removes and copies in batches
exp:expfetchexp:info, exp:aboutThe system card: the Exponential "e" next to the facts of this installation, its engine and its machine, with health hints (exp:info adds an inventory, exp:about the project)
exp:expgraphqlbenchexp:graphql:benchMeasure the speed of the GraphQL API against decision 18: cached GET, 304, cached POST, a cached answer through the kernel and an uncached query, N requests each, with median, p95 and max
exp:expgraphqldisableexp:graphql:disableSwitch the GraphQL API, or only its mutations, off for every siteaccess or for some; a dry run unless --apply
exp:expgraphqlenableexp:graphql:enableSwitch the GraphQL API on in one command: the siteaccesses, the mutations, CORS for a front end, an API key, the schema, a curl example; a dry run unless --apply
exp:expgraphqlkeysexp:graphql:keysThe personal API keys of the GraphQL API: list them, make one for a user (the token is shown once) or revoke one; a dry run unless --apply
exp:expgraphqlpersistexp:graphql:persistStore GraphQL queries on the server as persisted queries (called by name or SHA-256), list them or remove them; a dry run unless --apply
exp:expgraphqlqueryexp:graphql:queryRun a GraphQL query from the console, as a user of the installation (anonymous unless --as names one), and print the answer
exp:expgraphqlschemaexp:graphql:schemaPrint or write the GraphQL schema of a siteaccess: the schema language (sdl), the introspection result (json) or the classes and their fields (summary)
exp:expgraphqlstarterexp:graphql:starterGenerate a starter front end (Next.js, Nuxt, Astro, plain HTML or Expo) that reads the site through the GraphQL API, with queries from the live schema; a dry run unless --apply
exp:expgraphqlstatusexp:graphql:statusThe GraphQL API of a siteaccess: switched on or off, end point, library, limits, introspection, naming, schema hash, classes and datatypes without a mapping
exp:expgraphqlwebhooksexp:graphql:webhooksThe webhooks of the GraphQL API: list them, add or change one (with a new signing secret), remove one, send a test, deliver now, read the delivery log; a dry run unless --apply
exp:exphelpexp:helpThe help system on the command line: build and describe the index of doc/, search it, show a page's metadata, check its links and images
exp:exphelpcontentexp:help:contentHelp maintained as content: create the help classes, sections, states, tree and roles (idempotent), check the topics against the style guide, seed the glossary and topics, report and uninstall (the changing actions are a dry run unless --apply)
exp:exphelpexamplesexp:help:examplesGenerate the reference examples of the help below doc/eng-us/examples/ from the code: template operators and functions, fetch functions, module views, policies, INI settings, datatypes, workflow events, cronjobs, console commands and extension points
exp:explogsexp:logsThe log viewer on the command line: list the log files, follow one, search them and their rotations, find an error reference and the lines of its request (masked by default); rotate logs and prune their archives (dry run unless --apply)
exp:exploremipsumfillexp:loremipsumFill a translation of objects in a test language (Lorem Ipsum, qlo-ZZ) with lorem ipsum text (dry run unless --apply)
exp:explovestackexp:lovestackCheck an installation coming from LoveStack (read-only), and record its database as Exponential's (migrate)
exp:expmigrationcaptionexp:migration:captionTake a caption of the installation now (database, storage, settings, the commits of the code), or list the captions; a dry run unless --apply
exp:expmigrationcheckexp:migration:checkCheck migration files without running them: names, headers, order, PHP syntax and classes (the lint for CI)
exp:expmigrationconvertexp:migration:convertConvert YAML migrations of the migration bundle of the Symfony based platform into YAML migrations of Exponential: a file or every .yml file of a folder, step by step, what does not convert listed at the top of the new file; a dry run unless --apply
exp:expmigrationdeployexp:migration:deployDeploy this installation's migrations to one or many remotes at once, in sync: preflight and verify on all, then switch all, or take all back
exp:expmigrationdryrunexp:migration:dry-runDry run of the pending migrations: the plan, and with --simulate a run in a transaction that is rolled back (--diff shows what changed)
exp:expmigrationgenerateexp:migration:generateWrite a new migration file: --skeleton writes an empty migration (PHP, or with --type=yml, sql, ini or graphql that kind); --from-recording turns a recording of changes into a YAML migration; --from-content, --from-class, --from-role, --from-section and --from-settings turn what the installation has into one; --from-diff turns what changed since a caption, another installation or a database dump into one; a dry run unless --apply
exp:expmigrationhealexp:migration:healSelf-healing before a migration run: a stale run lock, missing migration folders, file modes, caches (what a deploy may fix on a remote)
exp:expmigrationmigrateexp:migration:migrateRun the pending migrations: a dry run unless --apply; captions before and after, restore on failure, commit, tag and push
exp:expmigrationpushexp:migration:pushPush the migration runs whose push failed (push state pending) to the remote of the migrations repository; a dry run unless --apply
exp:expmigrationrecorddiscardexp:migration:record:discardDiscard a recording of changes: the recording and every event it captured are removed (a running one stops recording); a dry run unless --apply
exp:expmigrationrecordlistexp:migration:record:listList the recordings of changes, running and stopped, the newest first, with their kind, state and number of events
exp:expmigrationrecordshowexp:migration:record:showShow a recording of changes: every event it captured as the migration step it stands for, or with --plan the steps a migration of it would have
exp:expmigrationrecordstartexp:migration:record:startStart a recording of changes: one user's own changes (a session recording) or every change of the site (--site-wide), kept as the steps of a YAML migration; a dry run unless --apply
exp:expmigrationrecordstatusexp:migration:record:statusThe recordings of changes that run: the site-wide window and the user's own recording, with how much each has recorded; repairs the file of running recordings
exp:expmigrationrecordstopexp:migration:record:stopStop a recording of changes: the one named, a user's own (--user) or the site-wide window (--site-wide); its events stay for exp:migration:generate --from-recording; a dry run unless --apply
exp:expmigrationremotelistexp:migration:remote:listThe remotes migrations can be deployed to (migration.ini [RemoteSettings]), with their groups and any problem of their settings; connects to none
exp:expmigrationremotestatusexp:migration:remote:statusThe migration state of remotes, read in parallel (reachable, version, lock, done, pending, failed), whether they are in sync, and the latest deploys
exp:expmigrationreposplitexp:migration:repo:splitSplit the migrations folder of the installation's git checkout into a repository of its own with its history (every commit that changed it, same authors, dates and messages); a dry run unless --apply
exp:expmigrationresumeexp:migration:resumeResume a migration run that failed or was interrupted: the migrations still pending run again; a dry run unless --apply
exp:expmigrationrollbackexp:migration:rollbackTake migrations back: a run (its caption restored), one migration (its down()) or, for experts, any caption; a dry run unless --apply
exp:expmigrationstatusexp:migration:statusMigration status: every migration with its state (done, pending, not-needed, failed, unknown), the latest runs and what waits
exp:exppatterncatalogue
exp:exprepairRepair queue of the missing-libraries error page: --create-key, --disable, --status, --run
exp:expstaticbuildexp:static:buildBuild a static copy of a target's siteaccess into its folder (static publishing): crawled as the anonymous user, links rewritten, files collected, extras and manifest written
exp:expstaticdiffexp:static:diffWhat the last static build of a target changed, whether its folder still matches the manifest, and whether every link of it works when served below a path
exp:expstaticdnsexp:static:dnsCheck the DNS records of a custom domain for GitHub Pages: the A, AAAA and CNAME records compared with GitHub's addresses, and what to change
exp:expstaticgithubexp:static:githubSet a static publishing target up on GitHub (the repository, GitHub Pages from the branch or Actions, the custom domain, HTTPS), show its state there, or sign in with GitHub
exp:expstatickeysexp:static:keysMake or show the SSH deploy key of a static publishing target: ed25519, the private half in the secret store, the public half to add to the repository
exp:expstaticpublishexp:static:publishPublish a target's static build (static publishing): commit it in the target's git repository, tag it static/<target>/<n> and push it, never forced
exp:expstaticpushexp:static:pushPush the static publishing targets whose push failed again (runs with push state pending), never forced
exp:expstaticrollbackexp:static:rollbackRoll a static publishing target back to an earlier publish: a new commit with the files of that tag, tagged and pushed; the history stays
exp:expstaticserveexp:static:servePreview the static build of a target locally: PHP's built-in web server serves its folder below the target's base path, as GitHub Pages serves a project site
exp:expstaticstatusexp:static:statusThe state of a static publishing target: its git repository, the credential (never its value), the last runs, waiting pushes and stale pages
exp:expstatictargetsexp:static:targetsList the targets of static publishing (staticcache.ini [Target_<id>]) with their siteaccess, links and folder, and check each one
exp:exptemplatecheckexp:template:check, exp:template:lint, exp:template:convert:checkCheck templates of every engine (.tpl, .stpl, .twig, .html.twig) for valid syntax: files, directories, designs, extensions, siteaccesses; levels syntax/compile/strict; text, json, jsonl, junit, checkstyle, github and sarif output
exp:exptemplateconvertexp:template:convertConvert the templates of a design from one template engine to another (--from-engine, --to-engine: tpl, stpl, twig); --dry-run, --file, --force, --override-ini, --twig-suffix
exp:exptemplateconvertdiffexp:template:convert:diffPrint the conversion of one template to another engine on stdout, without writing anything (--file, --to-engine, --from-engine)
exp:exptemplateconvertstpltotplexp:template:convert:stpl-to-tplConvert the Smarty templates (.stpl) of a design to Exponential templates (.tpl); --dry-run, --file, --force, --override-ini
exp:exptemplateconvertstpltotwigexp:template:convert:stpl-to-twigConvert the Smarty templates (.stpl) of a design to Twig templates (.twig); --dry-run, --file, --force, --override-ini, --twig-suffix
exp:exptemplateconverttpltostplexp:template:convert:tpl-to-stplConvert the Exponential templates (.tpl) of a design to Smarty templates (.stpl); --dry-run, --file, --force, --override-ini
exp:exptemplateconverttpltotwigexp:template:convert:tpl-to-twigConvert the Exponential templates (.tpl) of a design to Twig templates (.twig); --dry-run, --file, --force, --override-ini, --twig-suffix
exp:exptemplateconverttwigtostplexp:template:convert:twig-to-stplConvert the Twig templates (.twig) of a design to Smarty templates (.stpl); --dry-run, --file, --force, --override-ini
exp:exptemplateconverttwigtotplexp:template:convert:twig-to-tplConvert the Twig templates (.twig) of a design to Exponential templates (.tpl); --dry-run, --file, --force, --override-ini
exp:exptemplateenginesexp:template:enginesList the template engines: library found or not, version, file endings, settings, security policy, compiled-template cache
exp:expurlbatchesexp:url:batchesList the URL map imports: who imported which file when, the counts and whether it was undone
exp:expurlexportexp:url:exportExport the URL translator, the wildcards and the redirects as a URL map (CSV, JSON, .xlsx, .ods, Apache or nginx rules)
exp:expurlfrom404exp:url:from-404Start a URL map from the not-found log: the addresses visitors asked for and did not find, the most asked first, as rows to fill in
exp:expurlfromsitemapexp:url:from-sitemapStart a URL map from an old site's sitemap (sitemap.xml, a sitemap index, .gz) or a crawl list: every old address as a row to fill in
exp:expurlimportexp:url:importImport a URL map (CSV, JSON, .xlsx, .ods, Apache or nginx rules) into the URL translator, the wildcards and the redirects, as one batch that can be undone
exp:expurlsuggestexp:url:suggestSuggest new targets for the rows of a URL map that have none, by how alike their old address is to the addresses and names of this site's pages
exp:expurltestexp:url:testTest a URL map against a running site: request every old address, follow the redirects and compare where it lands with the new_url
exp:expurlundoexp:url:undoUndo a URL map import: every alias, wildcard and redirect it created or changed back as it was
exp:expuser2faexp:user:2faTwo-step sign-in and passkeys of an account: show them; reset the second step for someone who lost the phone, remove the passkeys of a lost device (changes are a dry run unless --apply)
exp:expuserapproveexp:user:approveApprove a waiting registration (activate the account, or accept its approval item and publish it), or reject it with --reject, as Users > Unactivated and the approval item do (a dry run unless --apply)
exp:expuserauditexp:user:auditThe user audit log of an account (Users > Audit): what happened to it and what it did, newest first, filtered by event, result and days
exp:expuserbulkexp:user:bulkDisable, enable, delete, approve, reject or unlock every account the list filters select, each as the single command does it; --apply needs --confirm with the number the dry run showed
exp:expusercheckloginexp:user:check-loginCheck whether a password read from standard input signs an account in (right password, enabled, not locked), for scripts and health checks; never counts as a failed sign-in
exp:expusercreateexp:user:createCreate a user account through the content publish, as the administration does (its workflows and the approval of new accounts run): login, e-mail, names, groups, and a password from standard input, a generated one or the activation mail (a dry run unless --apply)
exp:expuserdeleteexp:user:deleteRemove a user account for good, as the administration does; refuses the anonymous user, the administrator accounts, the user who acts and the last administrator (a dry run unless --apply)
exp:expuserdisableexp:user:disableDisable a user account and end its sessions, as Edit user settings does; refuses the protected accounts and the last administrator (a dry run unless --apply)
exp:expusereditexp:user:editChange a user account: e-mail address, login, first and last name, groups added or removed, the main group (a dry run unless --apply)
exp:expuserenableexp:user:enableEnable a disabled user account again, as Edit user settings does; an account that was never activated is approved with exp:user:approve instead (a dry run unless --apply)
exp:expuserexportexp:user:exportExport the accounts the list filters select as CSV or JSON: login, e-mail, names, state, groups, last visit (never a password or its hash)
exp:expusergroupsexp:user:groupsUser groups: list the group tree with its members, create, rename and move a group, remove an empty group to the trash (changes are a dry run unless --apply)
exp:expuserhygieneexp:user:hygieneThe counts of Users > Hygiene: accounts per state (disabled, unactivated, pending, locked, never signed in, inactive, orphaned, duplicate logins and addresses), each with the command that lists them
exp:expuserimportexp:user:importImport accounts from a CSV or JSON file, each created as exp:user:create creates it, with the activation mail or disabled; never a password from the file (a dry run that checks every row unless --apply)
exp:expuserlistexp:user:listList user accounts: filter by state (enabled, disabled, unactivated, pending, locked, never signed in, inactive ...), group and search, with paging
exp:expuserpendingexp:user:pendingList the registrations that wait: for the e-mail address to be confirmed, for an administrator, or for an approval item, newest first
exp:expuserrequirepasswordchangeexp:user:require-password-changeRequire a new password at the account's next sign-in, or remove that mark with --clear, as the account's edit form does (a dry run unless --apply)
exp:expuserresendactivationexp:user:resend-activationSend the activation mail again, with a new key, to an account that never activated, as Users > Unactivated does (a dry run unless --apply)
exp:expuserresetpasswordexp:user:reset-passwordReset a user's password: send the "reset your password" link, set a generated password shown once, or one read from standard input; optionally require a new password at the next sign-in (a dry run unless --apply)
exp:expuserrolesexp:user:rolesRole assignments: list those of a user or group, assign a role with or without a subtree or section limitation, unassign it, as role/assign does (changes are a dry run unless --apply)
exp:expusersessionsexp:user:sessionsThe tracked sessions of an account (Your devices): list them, end all of them or one, as an administrator does on user/sessions (ending is a dry run unless --apply)
exp:expusershowexp:user:showShow one user account: groups, roles with their limitation, enabled or locked, last visit, registration state, two-step sign-in and active sessions (never a password hash)
exp:expuserunlockexp:user:unlockUnlock an account locked after too many wrong passwords: its failed sign-ins back to 0, as Users > Hygiene does (a dry run unless --apply)
exp:expuserwhoamiexp:user:whoamiWhich account the console acts as (the user of [UserSettings] UserCreatorID, or --as), with its roles and whether it has every right
exp:expviewcountupdateexp:viewcount:updateCount the page views of the web server's access logs into the view counter (ezview_counter), for one siteaccess or several
exp:expwtmigratefromezwtexp:wt:migrate-from-ezwtReplace ezwt (the website toolbar) by expwt (the website sidebar): settings, policies, activation, schedule (dry run unless --apply)
exp:ezapplytemplateApply the template blocks found in files and write the files back (exit code 0, 1 or 2)
exp:ezasynchronouspublisher
exp:ezcacheClear Exponential caches by tag or id (--clear-tag, --clear-id, --clear-all, --list-tags)
exp:ezcheckphptagCheck files for characters before the PHP start tag or after the end tag
exp:ezchecktranslationShow statistics for one translation, e.g. ezchecktranslation.php ita-IT
exp:ezcontentcacheClear content caches of given nodes or subtrees (--clear-node, --clear-subtree)
exp:ezconvert2isbn13Convert ISBN-10 numbers to ISBN-13
exp:ezconvertdbcharsetConvert all Exponential database tables to use UTF-8 character set
exp:ezconvertmysqltabletypeConvert the tables of a MySQL database to another table type (--list, --newtype=TYPE)
exp:ezcreatedeactivatedusergroupCreate the user group for deactivated accounts ("Deactivate and move") ahead of first use
exp:ezcsvexportExport the subtree below a node to one CSV file per content class (--storage-dir)
exp:ezcsvimportImport content objects of a class below a node from a CSV file (--class, --creator)
exp:ezexecRun a PHP script with the Exponential bootstrap done: ezexec.php myscript.php
exp:ezflowupgradeUpgrade the installed ezflow packages (--to-version, --package, --url)
exp:ezgeneratetranslationcacheGenerate translation cache files (--ts-list limits it to the given translations)
exp:ezimportdbafileImport the dba data of a datatype into the database (--datatype=ezisbn)
exp:ezpgenerateautoloadsGenerate the class autoload arrays: kernel (-k), kernel overrides (-o), extensions (-e)
exp:ezpublishingbenchmarkBenchmark parallel publishing in concurrent batches (--batches-count, -l level)
exp:ezrequestrulesList and check the request rules of a siteaccess and explain their decision for an address
exp:ezsessiongcRemove expired sessions as defined by site.ini [Session] SessionTimeout
exp:ezsqldiffShow the differences between two database schemas; the exit code tells if they differ
exp:ezsqldumpisbndataDump the ISBN group and range tables as SQL to a file or standard output
exp:ezsqldumpschemaDump the database schema to a file or standard output (--type, --user)
exp:ezsqlinsertschemaInsert a database schema and data from a .dba file into a database (--type, --user)
exp:ezsubtreecopyCopy a content subtree to a new location (--src-node-id, --dst-node-id; dry run unless --apply)
exp:ezsubtreeremoveRemove content subtrees by node ID, to the trash unless --ignore-trash is given (dry run unless --apply)
exp:eztcCompile the templates of a siteaccess into the template cache (--force recompiles all)
exp:eztemplatecheckCheck the syntax of the templates of a siteaccess or of a design directory
exp:ezwebincommonHelper library of ezwebininstall and ezwebinupgrade, not meant to be run directly
exp:ezwebininstallInstall the ezwebin site package and configure the site
exp:ezwebinupgradeUpgrade an existing ezwebin installation to the current package version (--to-version)
exp:flattenRemove unused data from the database: contentobject, contentclass, workflow, role or all
exp:frankenphpexp:fpControl the FrankenPHP engine of the Exponential web server
exp:i18nThe translation fallbacks: per locale the chain of translations it falls back to, and how much of the kernel and of each extension it shows translated; --check for CI
exp:iniRead and change INI settings in every scope: get, set, add, rem, clear, toggle, copy, move, where, list, scopes
exp:installexp:namesOne-command installation, SQLite by default, no kickstart.ini needed (a dry run unless --apply)
exp:installcrontabShow, add or remove the cron job of the installation: the crontab lines that run its cronjob parts (--add and --remove: dry run unless --apply)
exp:kickstarterKickstarter runner: "ini" writes kickstart.ini, "run" installs from it (a dry run unless --apply)
exp:mailbouncesexp:mail:bouncesRead the bounce mailbox: hard bounces and spam complaints go on the suppression list (dry run unless --apply)
exp:mailconsentexp:mail:consentThe consent log of the e-mail preferences: list, export as CSV, retention cleanup (dry run unless --apply)
exp:mailgateexp:mail:gateTest the mail gate: who of the given addresses would get a mail of a category, and what the decorated mail looks like
exp:mailpreferencesexp:mail:preferencesShow and change the e-mail preferences of a user or an address: categories, master switch, frequency, export, erase
exp:mailstatusexp:mail:statusShow the e-mail preference system: tables, gate, footer, categories, suppression, consent log, the gate's last decisions and problems
exp:mailsuppressionexp:mail:suppressionThe suppression list of the e-mail gate: list, check, add and lift entries (only hashes are stored)
exp:maintenanceTake the site offline for maintenance and back: on, off or status
exp:makestaticcacheCrawl the public siteaccesses and generate static pages (--site, --max-pages, --max-depth)
exp:notificationeventsexp:notification:events, exp:notify:eventsList the notification events, or remove the old ones (dry run unless --apply)
exp:notificationrunexp:notification:run, exp:notify:runRun the notification filter: send the notifications of the pending events and the due digests (dry run unless --apply)
exp:notificationstatusexp:notification:status, exp:notify:statusShow the notification system: pending events, digest items, subscriptions, the last runs and problems
exp:notificationsubscriptionsexp:notification:subscriptions, exp:notify:subscriptionsList the subtree notification subscriptions per user and subtree, or remove those whose content is gone (dry run unless --apply)
exp:pharBuild and inspect the engine archive dist/engine.phar (verbs build, check, clean, info)
exp:preloadWarm the page caches of a site: request its section pages, then follow its links, and report the broken ones (dry run unless --apply)
exp:preloadjob
exp:publish_content
exp:resetuserpasswordReset a user password with admin authentication or root bypass
exp:servicesexp:services:compile, exp:services:list, exp:services:show, exp:services:checkCompile, list, show and check the kernel service container (verbs compile, list, show, check)
exp:setupfilesexp:setup:htaccess, exp:setup:config, exp:setup:statusCopy .htaccess_root (or .htaccess_root_static) to .htaccess and config.php-RECOMMENDED to config.php, with a diff, a backup and --force for an existing file (dry run unless --apply)
exp:solrexp:searchControl the Solr search server, once it is installed and configured
exp:systeminfoexp:system:infoThe facts and health checks of Setup > System information, as text or JSON (--json, --sizes)
exp:trashpurgePermanently delete all objects in the trash (dry run unless --apply)
exp:updateisbn13Update the ISBN range data in the database from an XML file (--url is required)
exp:updateniceurlsImport old URL aliases and update the URL aliases of all nodes (--update-nodes)
exp:updatesearchindexReindex all content objects in the search engine
exp:upgradeUpgrade the installation in one call: every stage in order (dry run unless --apply)
exp:upgradebackupexp:upgrade:backupUpgrade backup: the backup exp:upgrade makes before it writes, on its own (database dump and settings overrides)
exp:upgradecaptionsexp:upgrade:captionsUpgrade captions: the safe points to roll back to (git_manager's and exp:upgrade's), checked with --verify, pruned with --prune
exp:upgradecodeexp:upgrade:codeUpgrade stage 1, code: the git checkouts moved to the target release, fast-forward only, through git_manager (dry run unless --apply)
exp:upgradedatabaseexp:upgrade:databaseUpgrade stage 3, database: the schema and data steps on every engine (dry run unless --apply)
exp:upgradefinishexp:upgrade:finishUpgrade stage 5, finish: deploy the changes (exp:velocity deploy --kernel) and check the site answers (dry run unless --apply)
exp:upgradelibrariesexp:upgrade:librariesUpgrade stage 2, libraries: Composer install from composer.lock (or update of named packages) with a security audit (dry run unless --apply)
exp:upgraderollbackexp:upgrade:rollbackUpgrade rollback: put the database, storage, settings, libraries and code back to a caption (dry run unless --apply)
exp:upgradescriptsexp:upgrade:scriptsUpgrade stage 4, scripts: the PHP upgrade steps, policies and repairs (dry run unless --apply)
exp:upgradestatusexp:upgrade:statusUpgrade status: every upgrade step with its state (done, pending, not-needed, failed, unknown)
exp:upgradestepsexp:upgrade:stepsUpgrade steps: the registered steps with id, stage, version, engines and description
exp:upgradeverifyexp:upgrade:verifyUpgrade verify: re-detect every step and report drift; --after: the full check after an upgrade (steps, smoke addresses, tests, error log, autoloads)
exp:userlogincheckexp:user-login-checkUnique logins: list the logins more than one user account has; --fix-index adds the unique index on ezuser.login once there are none
exp:userpasswordchangerequiredexp:user-password-change-requiredChange password at next sign-in: show, set or clear the mark of a user account
exp:velocity-router
exp:velocity-warmup
exp:velocityexp:vc
exp:verify_aliases
exp:warmRequest every published page so no visitor pays for a render (--limit, --concurrency)
exp:webserverControl the Exponential web server (php, frankenphp or qbix engines)

Shell scripts

bin/shell/<name>.sh runs as shell:<name>:

CommandFileWhat it does
shell:checkcalltimerefbin/shell/checkcalltimeref.shCheck PHP source files for deprecated call-time pass-by-reference usage
shell:checkcodebin/shell/checkcode.shCheck PHP source files for short open tag coding standard violations
shell:checkdbschemabin/shell/checkdbschema.shVerify database schema files against the expected baseline schema
shell:checkdbupdatebin/shell/checkdbupdate.shCheck database update files for consistency with the current version
shell:checkforeachbin/shell/checkforeach.shCheck PHP foreach loop syntax for Exponential coding standard compliance
shell:checkinibin/shell/checkini.shFind INI configuration files that do not conform to valid PHP parse syntax
shell:checkprintbin/shell/checkprint.shCheck PHP source files for print() statement usage
shell:checkversionnumbersbin/shell/checkversionnumbers.shCheck version number consistency across source files (deprecated since 5.0)
shell:clearcachebin/shell/clearcache.shDeprecated — clear site caches using bin/php/ezcache.php instead
shell:commonbin/shell/common.sh
shell:creatediffbin/shell/creatediff.shCreate a patch/diff archive between two Exponential release versions
shell:distcommonbin/shell/distcommon.shShared functions library sourced by distribution build scripts (not executable)
shell:expstaticaskpassbin/shell/expstaticaskpass.shStatic publishing: git's password helper (GIT_ASKPASS) for a target with a token credential
shell:extensionscommonbin/shell/extensionscommon.shShared functions library sourced by extension packaging scripts (not executable)
shell:fixlicensebin/shell/fixlicense.shUpdate legacy eZ Systems license URLs in PHP source files
shell:generatefilelistbin/shell/generatefilelist.shGenerate share/filelist.md5 file integrity checksums for the current release
shell:i18ncontrolbin/shell/i18ncontrol.shControl and manage i18n translation source files
shell:i18nstatsbin/shell/i18nstats.shDisplay translation coverage statistics for specified locales
shell:makeaddonpackagesbin/shell/makeaddonpackages.shBuild add-on packages for inclusion in a distribution release
shell:makedistbin/shell/makedist.shBuild a full Exponential release distribution package (deprecated since 5.0)
shell:makedocbin/shell/makedoc.shDump the current running site as static HTML for offline documentation
shell:makei18ndistbin/shell/makei18ndist.shBuild i18n translation distribution packages for specified locales
shell:makestylepackagesbin/shell/makestylepackages.shBuild style and design distribution packages
shell:packagescommonbin/shell/packagescommon.shShared functions library sourced by package build scripts (not executable)
shell:packextbin/shell/packext.shPackage an extension directory into a distributable archive
shell:phpcheckbin/shell/phpcheck.shFind PHP source files with syntax errors and print their paths
shell:redumpallbin/shell/redumpall.shRe-dump all SQL database schemas and seed data to SQL files
shell:setdistributionbin/shell/setdistribution.shSet the distribution name and version properties for a release build
shell:setupdistbin/shell/setupdist.shSet up a distribution build environment and staging directory structure
shell:sqlcommonbin/shell/sqlcommon.shShared database connection variables sourced by SQL scripts (not executable)
shell:sqlredumpbin/shell/sqlredump.shRe-dump a specific SQL schema or data set to a named output file
shell:statsbin/shell/stats.shDisplay code statistics including line counts and file totals for the repository
shell:updateisbn13bin/shell/updateisbn13.shDownload updated ISBN-13 publisher prefix data and import it into the database
shell:updatelicensebin/shell/updatelicense.shUpdate license header blocks across all source files
shell:updatetranslationsbin/shell/updatetranslations.shDownload and update translation files for all configured locales
shell:verifyfilesbin/shell/verifyfiles.shVerify repository file integrity against share/filelist.md5 checksums

Generated by ./console exp:help:examples from bin/php/console. Do not edit this page: change the source and generate again (how). Free documentation: GFDL 1.3 or later.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x